import type { InjectionKey } from 'vue'; import type { GroupProvide } from "../../composables/group.js"; import type { GenericProps } from "../../util/index.js"; export type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'; export interface DefaultBtnToggleSlot extends Pick { } export declare const VBtnToggleSymbol: InjectionKey; type VBtnToggleSlots = { default: DefaultBtnToggleSlot; }; export declare const makeVBtnToggleProps: (defaults?: Defaults | undefined) => { modelValue: unknown extends Defaults["modelValue"] ? { type: null; default: undefined; } : Omit<{ type: null; default: undefined; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["modelValue"] ? any : any; }; multiple: unknown extends Defaults["multiple"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"]; }; mandatory: unknown extends Defaults["mandatory"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["mandatory"] ? boolean | "force" : NonNullable | Defaults["mandatory"]; }; max: unknown extends Defaults["max"] ? NumberConstructor : { type: import("vue").PropType; default: unknown extends Defaults["max"] ? number : number | Defaults["max"]; }; selectedClass: unknown extends Defaults["selectedClass"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; variant: unknown extends Defaults["variant"] ? { type: import("vue").PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["variant"] ? "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" : NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"> | Defaults["variant"]; }; theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; tag: unknown extends Defaults["tag"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable | Defaults["tag"]; }; rounded: unknown extends Defaults["rounded"] ? { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; } : Omit<{ type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["rounded"] ? string | number | boolean : NonNullable | Defaults["rounded"]; }; tile: unknown extends Defaults["tile"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]; }; elevation: unknown extends Defaults["elevation"] ? { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["elevation"] ? string | number : NonNullable | Defaults["elevation"]; }; density: unknown extends Defaults["density"] ? { type: import("vue").PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable | Defaults["density"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType; default: null; } : Omit<{ type: import("vue").PropType; default: null; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; border: unknown extends Defaults["border"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : { type: import("vue").PropType; default: unknown extends Defaults["border"] ? string | number | boolean : NonNullable | Defaults["border"]; }; baseColor: unknown extends Defaults["baseColor"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"]; }; divided: unknown extends Defaults["divided"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["divided"] ? boolean : boolean | Defaults["divided"]; }; direction: unknown extends Defaults["direction"] ? { type: import("vue").PropType<"horizontal" | "vertical">; default: string; } : Omit<{ type: import("vue").PropType<"horizontal" | "vertical">; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : NonNullable<"horizontal" | "vertical"> | Defaults["direction"]; }; }; export declare const VBtnToggle: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; tile: boolean; divided: boolean; } & { max?: number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; class?: any; theme?: string | undefined; mandatory?: boolean | "force" | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; selectedClass?: string | undefined; } & {}, { next: () => void; prev: () => void; select: (id: string, value: boolean) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; divided: boolean; }, true, {}, import("vue").SlotsType import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; tile: boolean; divided: boolean; } & { max?: number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; class?: any; theme?: string | undefined; mandatory?: boolean | "force" | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; selectedClass?: string | undefined; } & {}, { next: () => void; prev: () => void; select: (id: string, value: boolean) => void; }, {}, {}, {}, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; divided: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; tile: boolean; divided: boolean; } & { max?: number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; class?: any; theme?: string | undefined; mandatory?: boolean | "force" | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; selectedClass?: string | undefined; } & {}, { next: () => void; prev: () => void; select: (id: string, value: boolean) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue">, string, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; divided: boolean; }, {}, string, import("vue").SlotsType import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new (props: { modelValue?: T; "onUpdate:modelValue"?: (value: T) => void; }, slots: VBtnToggleSlots) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: import("vue").PropType; max: NumberConstructor; selectedClass: StringConstructor; disabled: BooleanConstructor; color: StringConstructor; variant: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; theme: StringConstructor; tag: { type: import("vue").PropType; default: string; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; tile: BooleanConstructor; elevation: { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; border: (StringConstructor | BooleanConstructor | NumberConstructor)[]; baseColor: StringConstructor; divided: BooleanConstructor; direction: { type: import("vue").PropType<"horizontal" | "vertical">; default: string; }; }, import("vue").ExtractPropTypes<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: import("vue").PropType; max: NumberConstructor; selectedClass: StringConstructor; disabled: BooleanConstructor; color: StringConstructor; variant: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; theme: StringConstructor; tag: { type: import("vue").PropType; default: string; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; tile: BooleanConstructor; elevation: { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; border: (StringConstructor | BooleanConstructor | NumberConstructor)[]; baseColor: StringConstructor; divided: BooleanConstructor; direction: { type: import("vue").PropType<"horizontal" | "vertical">; default: string; }; }>>; export type VBtnToggle = InstanceType;