import type { ButtonSizeType, ButtonTargetType, ButtonType, ButtonNativeType } from './interface';
import type { DefineComponent, PropType, VNode, RendererNode, RendererElement, Component, ComputedOptions, MethodOptions, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, EmitsOptions, h } from 'vue';
import type { ComputedRef, Ref, CSSProperties } from 'vue';
import type { InstallType, HandleEventInterface as a,  ClassListInterface as b } from '../../_interface';
declare const _sfc_main: DefineComponent<{
    readonly bold: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly circle: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly round: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly fontSize: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly fontColor: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly size: {
        readonly type: PropType<ButtonSizeType>;
        readonly default: () => ButtonSizeType;
        readonly validator: (val: ButtonSizeType) => boolean;
    };
    readonly block: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly href: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly target: {
        readonly type: PropType<ButtonTargetType>;
        readonly default: () => ButtonTargetType;
        readonly validator: (val: ButtonTargetType) => boolean;
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly loadingIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly type: {
        readonly type: PropType<ButtonType>;
        readonly default: () => ButtonType;
        readonly validator: (val: ButtonType) => boolean;
    };
    readonly autofocus: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly name: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly shadow: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly text: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly nativeType: {
        readonly type: PropType<ButtonNativeType>;
        readonly default: () => ButtonNativeType;
        readonly validator: (val: ButtonNativeType) => boolean;
    };
    readonly simple: {
        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 ripples: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly ripplesColor: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly color: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly click: {
        readonly type: PropType<a>;
        readonly default: () => null;
    };
}, {
    prop: {
        readonly bold?: unknown;
        readonly circle?: unknown;
        readonly round?: unknown;
        readonly fontSize?: unknown;
        readonly fontColor?: unknown;
        readonly size?: unknown;
        readonly block?: unknown;
        readonly href?: unknown;
        readonly target?: unknown;
        readonly loading?: unknown;
        readonly disabled?: unknown;
        readonly loadingIcon?: unknown;
        readonly type?: unknown;
        readonly autofocus?: unknown;
        readonly name?: unknown;
        readonly shadow?: unknown;
        readonly text?: unknown;
        readonly nativeType?: unknown;
        readonly simple?: unknown;
        readonly beforeIcon?: unknown;
        readonly afterIcon?: unknown;
        readonly ripples?: unknown;
        readonly ripplesColor?: unknown;
        readonly color?: unknown;
        readonly click?: unknown;
    } & {
        bold: boolean;
        type: ButtonType;
        fontSize: string | number;
        simple: boolean;
        round: boolean;
        color: string;
        beforeIcon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        size: ButtonSizeType;
        disabled: boolean;
        click: a;
        fontColor: string;
        text: boolean;
        circle: boolean;
        block: boolean;
        href: string;
        target: ButtonTargetType;
        loading: boolean;
        loadingIcon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        autofocus: boolean;
        name: string;
        shadow: string;
        nativeType: ButtonNativeType;
        afterIcon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        ripples: boolean;
        ripplesColor: string;
    } & {};
    FButton: Ref<HTMLButtonElement>;
    classList: ComputedRef<b>;
    handleClick: a;
    styleList: ComputedRef<CSSProperties>;
    h: typeof h;
    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<a>;
            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: a;
        } & {};
        handleClick: a;
        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: a;
    } & {}>, {
        color: string;
        size: string | number;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: a;
    }>>;
    FIconLoadingAVue: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly bold?: unknown;
    readonly circle?: unknown;
    readonly round?: unknown;
    readonly fontSize?: unknown;
    readonly fontColor?: unknown;
    readonly size?: unknown;
    readonly block?: unknown;
    readonly href?: unknown;
    readonly target?: unknown;
    readonly loading?: unknown;
    readonly disabled?: unknown;
    readonly loadingIcon?: unknown;
    readonly type?: unknown;
    readonly autofocus?: unknown;
    readonly name?: unknown;
    readonly shadow?: unknown;
    readonly text?: unknown;
    readonly nativeType?: unknown;
    readonly simple?: unknown;
    readonly beforeIcon?: unknown;
    readonly afterIcon?: unknown;
    readonly ripples?: unknown;
    readonly ripplesColor?: unknown;
    readonly color?: unknown;
    readonly click?: unknown;
} & {
    bold: boolean;
    type: ButtonType;
    fontSize: string | number;
    simple: boolean;
    round: boolean;
    color: string;
    beforeIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    size: ButtonSizeType;
    disabled: boolean;
    click: a;
    fontColor: string;
    text: boolean;
    circle: boolean;
    block: boolean;
    href: string;
    target: ButtonTargetType;
    loading: boolean;
    loadingIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    autofocus: boolean;
    name: string;
    shadow: string;
    nativeType: ButtonNativeType;
    afterIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    ripples: boolean;
    ripplesColor: string;
} & {}>, {
    bold: boolean;
    type: ButtonType;
    fontSize: string | number;
    simple: boolean;
    round: boolean;
    color: string;
    beforeIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    size: ButtonSizeType;
    disabled: boolean;
    click: a;
    fontColor: string;
    text: boolean;
    circle: boolean;
    block: boolean;
    href: string;
    target: ButtonTargetType;
    loading: boolean;
    loadingIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    autofocus: boolean;
    name: string;
    shadow: string;
    nativeType: ButtonNativeType;
    afterIcon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | Component<any, any, any, ComputedOptions, MethodOptions>;
    ripples: boolean;
    ripplesColor: string;
}>;
export default _sfc_main;
