import * as vue from 'vue'; import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent } from 'vue'; interface FilterPropsOptions, Props = ExtractPropTypes> { filterProps, U extends Exclude>>(props: T): Partial>; } type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent; declare const IconValue: PropType; declare const VComponentIcon: { new (...args: any[]): vue.CreateComponentPublicInstance<{ tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & { tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, true, {}, vue.SlotsType vue.VNode[]; }>>, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record, string, {}, {}, string, vue.SlotsType vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }, vue.ExtractPropTypes<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }>>; type VComponentIcon = InstanceType; declare const VSvgIcon: { new (...args: any[]): vue.CreateComponentPublicInstance; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, {}, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }, vue.ExtractPropTypes<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }>>; type VSvgIcon = InstanceType; declare const VLigatureIcon: { new (...args: any[]): vue.CreateComponentPublicInstance; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, {}, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }, vue.ExtractPropTypes<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }>>; type VLigatureIcon = InstanceType; declare const VClassIcon: { new (...args: any[]): vue.CreateComponentPublicInstance; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, {}, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase; }; tag: { type: StringConstructor; required: true; }; }>>, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }, vue.ExtractPropTypes<{ icon: { type: PropType; }; tag: { type: StringConstructor; required: true; }; }>>; type VClassIcon = InstanceType; declare const VIcon: { new (...args: any[]): vue.CreateComponentPublicInstance<{ end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; } & { color?: string | undefined; class?: any; icon?: IconValue | undefined; theme?: string | undefined; } & { $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 & { end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; } & { color?: string | undefined; class?: any; icon?: IconValue | undefined; theme?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, { end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; }, true, {}, vue.SlotsType vue.VNode[]; }>>, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; } & { color?: string | undefined; class?: any; icon?: IconValue | undefined; theme?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, {}, {}, {}, { end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; } & { color?: string | undefined; class?: any; icon?: IconValue | undefined; theme?: string | undefined; } & { $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, { end: boolean; start: boolean; style: vue.StyleValue; size: string | number; tag: string; }, {}, string, vue.SlotsType vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ theme: StringConstructor; tag: Omit<{ type: StringConstructor; default: string; }, "type" | "default"> & { type: vue.PropType; default: string; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; class: vue.PropType; style: { type: vue.PropType; default: null; }; color: StringConstructor; start: BooleanConstructor; end: BooleanConstructor; icon: vue.PropType; }, vue.ExtractPropTypes<{ theme: StringConstructor; tag: Omit<{ type: StringConstructor; default: string; }, "type" | "default"> & { type: vue.PropType; default: string; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; class: vue.PropType; style: { type: vue.PropType; default: null; }; color: StringConstructor; start: BooleanConstructor; end: BooleanConstructor; icon: vue.PropType; }>>; type VIcon = InstanceType; export { VClassIcon, VComponentIcon, VIcon, VLigatureIcon, VSvgIcon };