import { IconValue } from "../../composables/icons.js"; import { deepEqual } from "../../util/index.js"; import type { InjectionKey, PropType, Ref } from 'vue'; import type { RippleDirectiveBinding } from "../../directives/ripple/index.js"; import type { GenericProps } from "../../util/index.js"; export interface VSelectionGroupContext { modelValue: Ref; forceUpdate: () => void; onForceUpdate: (fn: () => void) => void; } export declare const VSelectionControlGroupSymbol: InjectionKey; export declare const makeSelectionControlGroupProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; density: unknown extends Defaults["density"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable | Defaults["density"]; }; class: unknown extends Defaults["class"] ? PropType : { type: PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; disabled: unknown extends Defaults["disabled"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["disabled"] ? boolean | null : NonNullable | Defaults["disabled"]; }; defaultsTarget: unknown extends Defaults["defaultsTarget"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["defaultsTarget"] ? string : string | Defaults["defaultsTarget"]; }; error: unknown extends Defaults["error"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["error"] ? boolean : boolean | Defaults["error"]; }; id: unknown extends Defaults["id"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["id"] ? string : string | Defaults["id"]; }; inline: unknown extends Defaults["inline"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["inline"] ? boolean : boolean | Defaults["inline"]; }; falseIcon: unknown extends Defaults["falseIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["falseIcon"] ? IconValue : NonNullable | Defaults["falseIcon"]; }; trueIcon: unknown extends Defaults["trueIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["trueIcon"] ? IconValue : NonNullable | Defaults["trueIcon"]; }; ripple: unknown extends Defaults["ripple"] ? { type: PropType; default: boolean; } : Omit<{ type: PropType; default: boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["ripple"] ? boolean | { class?: string; keys?: string[]; } | undefined : NonNullable | Defaults["ripple"]; }; multiple: unknown extends Defaults["multiple"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["multiple"] ? boolean | null : NonNullable | Defaults["multiple"]; }; name: unknown extends Defaults["name"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["name"] ? string : string | Defaults["name"]; }; readonly: unknown extends Defaults["readonly"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["readonly"] ? boolean | null : NonNullable | Defaults["readonly"]; }; modelValue: unknown extends Defaults["modelValue"] ? null : { type: PropType; default: unknown extends Defaults["modelValue"] ? any : any; }; type: unknown extends Defaults["type"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["type"] ? string : string | Defaults["type"]; }; valueComparator: unknown extends Defaults["valueComparator"] ? { type: PropType; default: typeof deepEqual; } : Omit<{ type: PropType; default: typeof deepEqual; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["valueComparator"] ? typeof deepEqual : typeof deepEqual | Defaults["valueComparator"]; }; }; export declare const makeVSelectionControlGroupProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; density: unknown extends Defaults["density"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable | Defaults["density"]; }; class: unknown extends Defaults["class"] ? PropType : { type: PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; disabled: unknown extends Defaults["disabled"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["disabled"] ? boolean | null : NonNullable | Defaults["disabled"]; }; defaultsTarget: unknown extends Defaults["defaultsTarget"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["defaultsTarget"] ? string : string | Defaults["defaultsTarget"]; }; error: unknown extends Defaults["error"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["error"] ? boolean : boolean | Defaults["error"]; }; id: unknown extends Defaults["id"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["id"] ? string : string | Defaults["id"]; }; inline: unknown extends Defaults["inline"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["inline"] ? boolean : boolean | Defaults["inline"]; }; falseIcon: unknown extends Defaults["falseIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["falseIcon"] ? IconValue : NonNullable | Defaults["falseIcon"]; }; trueIcon: unknown extends Defaults["trueIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["trueIcon"] ? IconValue : NonNullable | Defaults["trueIcon"]; }; ripple: unknown extends Defaults["ripple"] ? { type: PropType; default: boolean; } : Omit<{ type: PropType; default: boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["ripple"] ? boolean | { class?: string; keys?: string[]; } | undefined : NonNullable | Defaults["ripple"]; }; multiple: unknown extends Defaults["multiple"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["multiple"] ? boolean | null : NonNullable | Defaults["multiple"]; }; name: unknown extends Defaults["name"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["name"] ? string : string | Defaults["name"]; }; readonly: unknown extends Defaults["readonly"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["readonly"] ? boolean | null : NonNullable | Defaults["readonly"]; }; modelValue: unknown extends Defaults["modelValue"] ? null : { type: PropType; default: unknown extends Defaults["modelValue"] ? any : any; }; type: unknown extends Defaults["type"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["type"] ? string : string | Defaults["type"]; }; valueComparator: unknown extends Defaults["valueComparator"] ? { type: PropType; default: typeof deepEqual; } : Omit<{ type: PropType; default: typeof deepEqual; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["valueComparator"] ? typeof deepEqual : typeof deepEqual | Defaults["valueComparator"]; }; }; export declare const VSelectionControlGroup: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; } & { name?: string | undefined; type?: string | undefined; id?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; } & {}, {}, 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, { inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; }, true, {}, import("vue").SlotsType import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; } & { name?: string | undefined; type?: string | undefined; id?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; } & {}, {}, {}, {}, {}, { inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; } & { name?: string | undefined; type?: string | undefined; id?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; falseIcon?: IconValue | undefined; trueIcon?: IconValue | undefined; } & {}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue">, string, { inline: boolean; error: boolean; style: import("vue").StyleValue; disabled: boolean | null; multiple: boolean | null; readonly: boolean | null; valueComparator: typeof deepEqual; density: import("../../composables/density.js").Density; ripple: boolean | { class?: string; keys?: string[]; } | undefined; defaultsTarget: string; }, {}, 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: { default: never; }) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; density: { type: PropType; default: string; validator: (v: any) => boolean; }; class: PropType; style: { type: PropType; default: null; }; color: StringConstructor; disabled: { type: PropType; default: null; }; defaultsTarget: { type: PropType; default: string; }; error: BooleanConstructor; id: StringConstructor; inline: BooleanConstructor; falseIcon: PropType; trueIcon: PropType; ripple: { type: PropType; default: boolean; }; multiple: { type: PropType; default: null; }; name: StringConstructor; readonly: { type: PropType; default: null; }; modelValue: null; type: StringConstructor; valueComparator: { type: PropType; default: typeof deepEqual; }; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; density: { type: PropType; default: string; validator: (v: any) => boolean; }; class: PropType; style: { type: PropType; default: null; }; color: StringConstructor; disabled: { type: PropType; default: null; }; defaultsTarget: { type: PropType; default: string; }; error: BooleanConstructor; id: StringConstructor; inline: BooleanConstructor; falseIcon: PropType; trueIcon: PropType; ripple: { type: PropType; default: boolean; }; multiple: { type: PropType; default: null; }; name: StringConstructor; readonly: { type: PropType; default: null; }; modelValue: null; type: StringConstructor; valueComparator: { type: PropType; default: typeof deepEqual; }; }>>; export type VSelectionControlGroup = InstanceType;