import type { Size } from '../../composables/size';
import type { DefineComponent, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
export declare const Icon: DefineComponent<{
    icon: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
    tag: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size | undefined>;
        default: string;
    };
    /**
     * @zh 图标颜色
     */
    color: StringConstructor;
    /**
     * @zh 是否在左侧
     */
    start: BooleanConstructor;
    /**
     * @zh 是否在右侧
     */
    end: BooleanConstructor;
}, () => JSX.Element | undefined, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    icon: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
    tag: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<Size | undefined>;
        default: string;
    };
    /**
     * @zh 图标颜色
     */
    color: StringConstructor;
    /**
     * @zh 是否在左侧
     */
    start: BooleanConstructor;
    /**
     * @zh 是否在右侧
     */
    end: BooleanConstructor;
}>>, {
    tag: string;
    size: Size | undefined;
    start: boolean;
    end: boolean;
}>;
export declare type Icon = InstanceType<typeof Icon>;
//# sourceMappingURL=icon.d.ts.map