import { IconValue } from "../../composables/icons.js"; export declare const makeVIconProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; tag: unknown extends Defaults["tag"] ? Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: NonNullable; } : Omit; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: NonNullable; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable | Defaults["tag"]; }; size: unknown extends Defaults["size"] ? { type: (StringConstructor | NumberConstructor)[]; default: string; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["size"] ? string | number : NonNullable | Defaults["size"]; }; 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"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; start: unknown extends Defaults["start"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["start"] ? boolean : boolean | Defaults["start"]; }; end: unknown extends Defaults["end"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["end"] ? boolean : boolean | Defaults["end"]; }; icon: unknown extends Defaults["icon"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["icon"] ? IconValue : NonNullable | Defaults["icon"]; }; opacity: unknown extends Defaults["opacity"] ? (StringConstructor | NumberConstructor)[] : { type: import("vue").PropType; default: unknown extends Defaults["opacity"] ? string | number : NonNullable | Defaults["opacity"]; }; }; export declare const VIcon: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; } & { color?: string | undefined; opacity?: string | number | undefined; class?: any; theme?: string | undefined; icon?: IconValue | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | { default?: (() => import("vue").VNodeChild) | undefined; } | (() => import("vue").VNodeChild); 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; }, true, {}, import("vue").SlotsType import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; } & { color?: string | undefined; opacity?: string | number | undefined; class?: any; theme?: string | undefined; icon?: IconValue | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | { default?: (() => import("vue").VNodeChild) | undefined; } | (() => import("vue").VNodeChild); 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, {}, {}, {}, { end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; } & { color?: string | undefined; opacity?: string | number | undefined; class?: any; theme?: string | undefined; icon?: IconValue | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | { default?: (() => import("vue").VNodeChild) | undefined; } | (() => import("vue").VNodeChild); 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, { end: boolean; start: boolean; style: import("vue").StyleValue; disabled: boolean; size: string | number; tag: string | import("../../util/index.js").JSXComponent; }, {}, 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 & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; tag: Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: NonNullable; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; color: StringConstructor; disabled: BooleanConstructor; start: BooleanConstructor; end: BooleanConstructor; icon: import("vue").PropType; opacity: (StringConstructor | NumberConstructor)[]; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; tag: Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: NonNullable; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; class: import("vue").PropType; style: { type: import("vue").PropType; default: null; }; color: StringConstructor; disabled: BooleanConstructor; start: BooleanConstructor; end: BooleanConstructor; icon: import("vue").PropType; opacity: (StringConstructor | NumberConstructor)[]; }>>; export type VIcon = InstanceType;