import { IconValue } from '../../composables/icons.js'; import type { ComputedRef, PropType, Ref } from 'vue'; import type { ClassValue } from '../../composables/component.js'; import type { LoaderSlotProps } from '../../composables/loader.js'; import type { GenericProps } from '../../util/index.js'; declare const allowedVariants: readonly ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain']; type Variant = (typeof allowedVariants)[number]; export interface DefaultInputSlot { isActive: Ref; isFocused: Ref; iconColor: ComputedRef; controlRef: Ref; focus: () => void; blur: () => void; } export interface VFieldSlot extends DefaultInputSlot { props: Record & { class?: ClassValue; }; } export declare const makeVFieldProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; 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; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable; }; rounded: unknown extends Defaults["rounded"] ? { type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; } : Omit<{ type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["rounded"] ? string | number | boolean : Defaults["rounded"] | NonNullable; }; tile: unknown extends Defaults["tile"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]; }; loading: unknown extends Defaults["loading"] ? (BooleanConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["loading"] ? string | boolean : Defaults["loading"] | NonNullable; }; appendInnerIcon: unknown extends Defaults["appendInnerIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["appendInnerIcon"] ? IconValue : Defaults["appendInnerIcon"] | NonNullable; }; bgColor: unknown extends Defaults["bgColor"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["bgColor"] ? string : string | Defaults["bgColor"]; }; clearable: unknown extends Defaults["clearable"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["clearable"] ? boolean : boolean | Defaults["clearable"]; }; clearIcon: unknown extends Defaults["clearIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["clearIcon"] ? IconValue : Defaults["clearIcon"] | NonNullable; }; active: unknown extends Defaults["active"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["active"] ? boolean : boolean | Defaults["active"]; }; centerAffix: unknown extends Defaults["centerAffix"] ? { type: BooleanConstructor; default: undefined; } : Omit<{ type: BooleanConstructor; default: undefined; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["centerAffix"] ? boolean : boolean | Defaults["centerAffix"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; baseColor: unknown extends Defaults["baseColor"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["baseColor"] ? string : string | Defaults["baseColor"]; }; dirty: unknown extends Defaults["dirty"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["dirty"] ? boolean : boolean | Defaults["dirty"]; }; disabled: unknown extends Defaults["disabled"] ? { type: BooleanConstructor; default: null; } : Omit<{ type: BooleanConstructor; default: null; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; glow: unknown extends Defaults["glow"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["glow"] ? boolean : boolean | Defaults["glow"]; }; error: unknown extends Defaults["error"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["error"] ? boolean : boolean | Defaults["error"]; }; flat: unknown extends Defaults["flat"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["flat"] ? boolean : boolean | Defaults["flat"]; }; iconColor: unknown extends Defaults["iconColor"] ? (BooleanConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["iconColor"] ? string | boolean : Defaults["iconColor"] | NonNullable; }; label: unknown extends Defaults["label"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["label"] ? string : string | Defaults["label"]; }; persistentClear: unknown extends Defaults["persistentClear"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["persistentClear"] ? boolean : boolean | Defaults["persistentClear"]; }; prependInnerIcon: unknown extends Defaults["prependInnerIcon"] ? PropType : { type: PropType; default: unknown extends Defaults["prependInnerIcon"] ? IconValue : Defaults["prependInnerIcon"] | NonNullable; }; reverse: unknown extends Defaults["reverse"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["reverse"] ? boolean : boolean | Defaults["reverse"]; }; singleLine: unknown extends Defaults["singleLine"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["singleLine"] ? boolean : boolean | Defaults["singleLine"]; }; variant: unknown extends Defaults["variant"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["variant"] ? "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined" : Defaults["variant"] | NonNullable<"filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined">; }; 'onClick:clear': unknown extends Defaults["onClick:clear"] ? PropType<(args_0: MouseEvent) => void> : { type: PropType void : ((args_0: MouseEvent) => void) | Defaults["onClick:clear"]>; default: unknown extends Defaults["onClick:clear"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick:clear"]; }; 'onClick:appendInner': unknown extends Defaults["onClick:appendInner"] ? PropType<(args_0: MouseEvent) => void> : { type: PropType void : ((args_0: MouseEvent) => void) | Defaults["onClick:appendInner"]>; default: unknown extends Defaults["onClick:appendInner"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick:appendInner"]; }; 'onClick:prependInner': unknown extends Defaults["onClick:prependInner"] ? PropType<(args_0: MouseEvent) => void> : { type: PropType void : ((args_0: MouseEvent) => void) | Defaults["onClick:prependInner"]>; default: unknown extends Defaults["onClick:prependInner"] ? (args_0: MouseEvent) => void : ((args_0: MouseEvent) => void) | Defaults["onClick:prependInner"]; }; }; export type VFieldSlots = { clear: DefaultInputSlot & { props: Record; }; 'prepend-inner': DefaultInputSlot; 'append-inner': DefaultInputSlot; label: DefaultInputSlot & { label: string | undefined; props: Record; }; loader: LoaderSlotProps; default: VFieldSlot; }; export declare const VField: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; focused: boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; } & { theme?: string | undefined; class?: any; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; rounded?: string | number | boolean | undefined; loading?: string | boolean | undefined; appendInnerIcon?: IconValue | undefined; bgColor?: string | undefined; centerAffix?: boolean | undefined; color?: string | undefined; baseColor?: string | undefined; iconColor?: string | boolean | undefined; label?: string | undefined; prependInnerIcon?: IconValue | undefined; 'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined; id?: string | undefined; labelId?: string | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; fieldIconColor: ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:focused': (focused: boolean) => true; 'update:modelValue': (value: any) => true; }, "$children" | "modelValue" | "update:modelValue" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:default" | "v-slot:label" | "v-slot:loader" | "v-slot:prepend-inner" | "v-slots">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { style: import("vue").StyleValue; focused: boolean; rounded: string | number | boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; centerAffix: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; }, true, {}, import("vue").SlotsType; }) => import("vue").VNode[]; 'prepend-inner': (arg: DefaultInputSlot) => import("vue").VNode[]; 'append-inner': (arg: DefaultInputSlot) => import("vue").VNode[]; label: (arg: DefaultInputSlot & { label: string | undefined; props: Record; }) => import("vue").VNode[]; loader: (arg: LoaderSlotProps) => import("vue").VNode[]; default: (arg: VFieldSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; focused: boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; } & { theme?: string | undefined; class?: any; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; rounded?: string | number | boolean | undefined; loading?: string | boolean | undefined; appendInnerIcon?: IconValue | undefined; bgColor?: string | undefined; centerAffix?: boolean | undefined; color?: string | undefined; baseColor?: string | undefined; iconColor?: string | boolean | undefined; label?: string | undefined; prependInnerIcon?: IconValue | undefined; 'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined; id?: string | undefined; labelId?: string | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; fieldIconColor: ComputedRef; }, {}, {}, {}, { style: import("vue").StyleValue; focused: boolean; rounded: string | number | boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; centerAffix: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; focused: boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; } & { theme?: string | undefined; class?: any; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; rounded?: string | number | boolean | undefined; loading?: string | boolean | undefined; appendInnerIcon?: IconValue | undefined; bgColor?: string | undefined; centerAffix?: boolean | undefined; color?: string | undefined; baseColor?: string | undefined; iconColor?: string | boolean | undefined; label?: string | undefined; prependInnerIcon?: IconValue | undefined; 'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined; 'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined; id?: string | undefined; labelId?: string | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; fieldIconColor: ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:focused': (focused: boolean) => true; 'update:modelValue': (value: any) => true; }, "$children" | "modelValue" | "update:modelValue" | "v-slot:append-inner" | "v-slot:clear" | "v-slot:default" | "v-slot:label" | "v-slot:loader" | "v-slot:prepend-inner" | "v-slots">, string, { style: import("vue").StyleValue; focused: boolean; rounded: string | number | boolean; tile: boolean; clearable: boolean; clearIcon: IconValue; active: boolean; centerAffix: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; details: boolean; }, {}, string, import("vue").SlotsType; }) => import("vue").VNode[]; 'prepend-inner': (arg: DefaultInputSlot) => import("vue").VNode[]; 'append-inner': (arg: DefaultInputSlot) => import("vue").VNode[]; label: (arg: DefaultInputSlot & { label: string | undefined; props: Record; }) => import("vue").VNode[]; loader: (arg: LoaderSlotProps) => import("vue").VNode[]; default: (arg: VFieldSlot) => 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: VFieldSlots) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; focused: BooleanConstructor; 'onUpdate:focused': PropType<(args_0: boolean) => void>; rounded: { type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; }; tile: BooleanConstructor; loading: (BooleanConstructor | StringConstructor)[]; appendInnerIcon: PropType; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType; default: string; }; active: BooleanConstructor; centerAffix: { type: BooleanConstructor; default: undefined; }; color: StringConstructor; baseColor: StringConstructor; dirty: BooleanConstructor; disabled: { type: BooleanConstructor; default: null; }; glow: BooleanConstructor; error: BooleanConstructor; flat: BooleanConstructor; iconColor: (BooleanConstructor | StringConstructor)[]; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<(args_0: MouseEvent) => void>; 'onClick:appendInner': PropType<(args_0: MouseEvent) => void>; 'onClick:prependInner': PropType<(args_0: MouseEvent) => void>; id: StringConstructor; details: BooleanConstructor; labelId: StringConstructor; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; focused: BooleanConstructor; 'onUpdate:focused': PropType<(args_0: boolean) => void>; rounded: { type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; }; tile: BooleanConstructor; loading: (BooleanConstructor | StringConstructor)[]; appendInnerIcon: PropType; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType; default: string; }; active: BooleanConstructor; centerAffix: { type: BooleanConstructor; default: undefined; }; color: StringConstructor; baseColor: StringConstructor; dirty: BooleanConstructor; disabled: { type: BooleanConstructor; default: null; }; glow: BooleanConstructor; error: BooleanConstructor; flat: BooleanConstructor; iconColor: (BooleanConstructor | StringConstructor)[]; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<(args_0: MouseEvent) => void>; 'onClick:appendInner': PropType<(args_0: MouseEvent) => void>; 'onClick:prependInner': PropType<(args_0: MouseEvent) => void>; id: StringConstructor; details: BooleanConstructor; labelId: StringConstructor; }>>; export type VField = InstanceType;