import type { LinkType, LinkHoverType, LinkTargetType } from './src/interface.d';
import type { DefineComponent, PropType, VNode, RendererNode, RendererElement, Component, ComputedOptions, MethodOptions, ComputedRef, CSSProperties, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
import type { InstallType, HandleEventInterface, ClassListInterface } from '../_interface';
import Link from "./src/link";
export declare const FLink: InstallType<DefineComponent<{
    readonly type: {
        readonly type: PropType<LinkType>;
        readonly default: () => LinkType;
        readonly validator: (val: LinkType) => boolean;
    };
    readonly href: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly size: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly state: {
        readonly type: PropType<LinkHoverType>;
        readonly default: () => LinkHoverType;
        readonly validator: (val: LinkHoverType) => boolean;
    };
    readonly prohibit: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly target: {
        readonly type: PropType<LinkTargetType>;
        readonly default: () => LinkTargetType;
        readonly validator: (val: LinkTargetType) => boolean;
    };
    readonly color: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly noCopy: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly noLink: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly beforeIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly afterIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly click: {
        readonly type: PropType<HandleEventInterface>;
        readonly default: () => null;
    };
}, {
    prop: {
        readonly type?: unknown;
        readonly href?: unknown;
        readonly size?: unknown;
        readonly state?: unknown;
        readonly prohibit?: unknown;
        readonly target?: unknown;
        readonly color?: unknown;
        readonly noCopy?: unknown;
        readonly noLink?: unknown;
        readonly beforeIcon?: unknown;
        readonly afterIcon?: unknown;
        readonly click?: unknown;
    } & {
        type: LinkType;
        color: string;
        beforeIcon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        size: string | number;
        click: HandleEventInterface;
        href: string;
        target: LinkTargetType;
        afterIcon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        state: LinkHoverType;
        prohibit: boolean;
        noCopy: boolean;
        noLink: boolean;
    } & {};
    handleClick: HandleEventInterface;
    classList: ComputedRef<ClassListInterface>;
    styleList: ComputedRef<CSSProperties>;
    FSvgIcon: InstallType<DefineComponent<{
        readonly icon: {
            readonly type: PropType<VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
            readonly default: () => null;
        };
        readonly color: {
            readonly type: StringConstructor;
            readonly default: () => string;
        };
        readonly size: {
            readonly type: PropType<string | number>;
            readonly default: () => string;
        };
        readonly click: {
            readonly type: PropType<HandleEventInterface>;
            readonly default: () => null;
        };
    }, {
        prop: {
            readonly icon?: unknown;
            readonly color?: unknown;
            readonly size?: unknown;
            readonly click?: unknown;
        } & {
            color: string;
            size: string | number;
            icon: VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>;
            click: HandleEventInterface;
        } & {};
        handleClick: HandleEventInterface;
        styleList: ComputedRef<CSSProperties>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
        readonly icon?: unknown;
        readonly color?: unknown;
        readonly size?: unknown;
        readonly click?: unknown;
    } & {
        color: string;
        size: string | number;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    } & {}>, {
        color: string;
        size: string | number;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    }>>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly type?: unknown;
    readonly href?: unknown;
    readonly size?: unknown;
    readonly state?: unknown;
    readonly prohibit?: unknown;
    readonly target?: unknown;
    readonly color?: unknown;
    readonly noCopy?: unknown;
    readonly noLink?: unknown;
    readonly beforeIcon?: unknown;
    readonly afterIcon?: unknown;
    readonly click?: unknown;
} & {
    type: LinkType;
    color: string;
    beforeIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    size: string | number;
    click: HandleEventInterface;
    href: string;
    target: LinkTargetType;
    afterIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    state: LinkHoverType;
    prohibit: boolean;
    noCopy: boolean;
    noLink: boolean;
} & {}>, {
    type: LinkType;
    color: string;
    beforeIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    size: string | number;
    click: HandleEventInterface;
    href: string;
    target: LinkTargetType;
    afterIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    state: LinkHoverType;
    prohibit: boolean;
    noCopy: boolean;
    noLink: boolean;
}>>;
export declare type LinkInstance = InstanceType<typeof Link>;
export * from './src/interface.d';
export default Link;
