import type { RendererNode, RendererElement, ComputedOptions, MethodOptions, PropType,  ExtractPropTypes,  VNode,  Component } from 'vue';
import type { ButtonSizeType, ButtonTargetType, ButtonType, ButtonNativeType } from './interface';
import type { HandleEventInterface } from '../../_interface';
export declare const Props: {
    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<HandleEventInterface>;
        readonly default: () => null;
    };
};
export declare type ButtonPropsType = ExtractPropTypes<typeof Props>;
