import * as vue from 'vue'; import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, JSXComponent, PropType, Ref } from 'vue'; type SlotsToProps> = { $children?: (VNodeChild | (T extends { default: infer V; } ? V : {}) | { [K in keyof T]?: T[K]; }); 'v-slots'?: { [K in keyof T]?: T[K] | false; }; } & { [K in keyof T as `v-slot:${K & string}`]?: T[K] | false; }; type RawSlots = Record; type Slot = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild; type VueSlot = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[]; type MakeInternalSlots = { [K in keyof T]: Slot; }; type MakeSlots = { [K in keyof T]: VueSlot; }; type GenericProps> = { $props: Props & SlotsToProps; $slots: MakeSlots; }; interface FilterPropsOptions, Props = ExtractPropTypes> { filterProps, U extends Exclude>>(props: T): Partial>; } type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent; declare const IconValue: PropType; interface LoaderSlotProps { color: string | undefined; isActive: boolean; } interface DefaultInputSlot { isActive: Ref; isFocused: Ref; controlRef: Ref; focus: () => void; blur: () => void; } interface VFieldSlot extends DefaultInputSlot { props: Record; } type VFieldSlots = { clear: never; 'prepend-inner': DefaultInputSlot; 'append-inner': DefaultInputSlot; label: DefaultInputSlot & { label: string | undefined; props: Record; }; loader: LoaderSlotProps; default: VFieldSlot; }; declare const VField: { new (...args: any[]): vue.CreateComponentPublicInstance<{ flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; } & { id?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; class?: any; theme?: string | undefined; rounded?: string | number | boolean | undefined; bgColor?: string | undefined; baseColor?: string | undefined; appendInnerIcon?: IconValue | 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; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; centerAffix?: boolean | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{ 'update:focused': (focused: boolean) => true; 'update:modelValue': (value: any) => true; }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:label" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & { flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; } & { id?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; class?: any; theme?: string | undefined; rounded?: string | number | boolean | undefined; bgColor?: string | undefined; baseColor?: string | undefined; appendInnerIcon?: IconValue | 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; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; centerAffix?: boolean | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; rounded: string | number | boolean; clearIcon: IconValue; focused: boolean; centerAffix: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; }, true, {}, vue.SlotsType vue.VNode[]; 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[]; 'append-inner': (arg: DefaultInputSlot) => vue.VNode[]; label: (arg: DefaultInputSlot & { label: string | undefined; props: Record; }) => vue.VNode[]; loader: (arg: LoaderSlotProps) => vue.VNode[]; default: (arg: VFieldSlot) => vue.VNode[]; }>>, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; } & { id?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; class?: any; theme?: string | undefined; rounded?: string | number | boolean | undefined; bgColor?: string | undefined; baseColor?: string | undefined; appendInnerIcon?: IconValue | 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; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; centerAffix?: boolean | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; }, {}, {}, {}, { flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; rounded: string | number | boolean; clearIcon: IconValue; focused: boolean; centerAffix: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; } & { id?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; class?: any; theme?: string | undefined; rounded?: string | number | boolean | undefined; bgColor?: string | undefined; baseColor?: string | undefined; appendInnerIcon?: IconValue | 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; 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined; centerAffix?: boolean | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{ 'update:focused': (focused: boolean) => true; 'update:modelValue': (value: any) => true; }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:label" | "v-slot:clear" | "v-slot:prepend-inner" | "v-slot:append-inner">, string, { flat: boolean; reverse: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled"; error: boolean; active: boolean; style: vue.StyleValue; disabled: boolean; rounded: string | number | boolean; clearIcon: IconValue; focused: boolean; centerAffix: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; }, {}, string, vue.SlotsType vue.VNode[]; 'prepend-inner': (arg: DefaultInputSlot) => vue.VNode[]; 'append-inner': (arg: DefaultInputSlot) => vue.VNode[]; label: (arg: DefaultInputSlot & { label: string | undefined; props: Record; }) => vue.VNode[]; loader: (arg: LoaderSlotProps) => vue.VNode[]; default: (arg: VFieldSlot) => vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new (props: { modelValue?: T | undefined; 'onUpdate:modelValue'?: ((value: T) => void) | undefined; }, slots: VFieldSlots) => GenericProps<{ modelValue?: T | undefined; 'onUpdate:modelValue'?: ((value: T) => void) | undefined; }, VFieldSlots>) & FilterPropsOptions<{ theme: StringConstructor; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; loading: (StringConstructor | BooleanConstructor)[]; class: PropType; style: { type: PropType; default: null; }; 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; }; error: BooleanConstructor; flat: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled">; 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>; focused: BooleanConstructor; 'onUpdate:focused': PropType<(args_0: boolean) => void>; id: StringConstructor; }, vue.ExtractPropTypes<{ theme: StringConstructor; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; loading: (StringConstructor | BooleanConstructor)[]; class: PropType; style: { type: PropType; default: null; }; 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; }; error: BooleanConstructor; flat: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled">; 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>; focused: BooleanConstructor; 'onUpdate:focused': PropType<(args_0: boolean) => void>; id: StringConstructor; }>>; type VField = InstanceType; declare const VFieldLabel: { new (...args: any[]): vue.CreateComponentPublicInstance<{ style: vue.StyleValue; floating: boolean; } & { class?: any; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & { style: vue.StyleValue; floating: boolean; } & { class?: any; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, { style: vue.StyleValue; floating: boolean; }, true, {}, vue.SlotsType vue.VNode[]; }>>, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: vue.StyleValue; floating: boolean; } & { class?: any; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, {}, {}, {}, { style: vue.StyleValue; floating: boolean; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ style: vue.StyleValue; floating: boolean; } & { class?: any; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record, string, { style: vue.StyleValue; floating: boolean; }, {}, string, vue.SlotsType vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ class: vue.PropType; style: { type: vue.PropType; default: null; }; floating: BooleanConstructor; }, vue.ExtractPropTypes<{ class: vue.PropType; style: { type: vue.PropType; default: null; }; floating: BooleanConstructor; }>>; type VFieldLabel = InstanceType; export { VField, VFieldLabel };