declare const TaButton: import("tav-ui/es/utils/with-install").SFCWithInstall<import("vue").DefineComponent<{
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    type: import("vue-types").VueTypeDef<"default" | "link" | "text" | "primary" | "ghost" | "dashed">;
    htmlType: import("vue-types").VueTypeDef<"reset" | "submit" | "button"> & {
        default: "reset" | "submit" | "button";
    };
    shape: {
        type: import("vue").PropType<import("ant-design-vue/lib/button").ButtonShape>;
    };
    size: {
        type: import("vue").PropType<"small" | "middle" | "large" | undefined>;
    };
    loading: {
        type: import("vue").PropType<boolean | {
            delay?: number | undefined;
        }>;
        default: () => boolean | {
            delay?: number | undefined;
        };
    };
    ghost: import("vue-types").VueTypeValidableDef<boolean>;
    block: import("vue-types").VueTypeValidableDef<boolean>;
    danger: import("vue-types").VueTypeValidableDef<boolean>;
    icon: import("vue-types").VueTypeValidableDef<import("../..").VueNode>;
    href: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    target: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    title: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    color: {
        type: StringConstructor;
        validator: (v: any) => boolean;
    };
    disabled: {
        type: BooleanConstructor;
    };
    preIcon: {
        type: StringConstructor;
    };
    preIconColor: {
        type: StringConstructor;
    };
    postIcon: {
        type: StringConstructor;
    };
    postIconColor: {
        type: StringConstructor;
    };
    iconSize: {
        type: NumberConstructor;
        default: number;
    };
    onClick: {
        type: import("vue").PropType<(...args: any[]) => any>;
        default: null;
    };
    permission: {
        type: StringConstructor;
    };
    permissionCode: {
        type: NumberConstructor;
    };
    usePermission: {
        type: import("vue").PropType<{
            code: string;
            ref: any;
            row?: any;
        }>;
    };
    ifShow: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    getButtonClass: import("vue").ComputedRef<{
        [x: string]: boolean;
        'is-disabled': boolean;
    }[]>;
    getBindValue: import("vue").ComputedRef<{
        type: "default" | "link" | "text" | "primary" | "ghost" | "dashed" | undefined;
        target: string;
        size: "small" | "middle" | "large" | undefined;
        icon: import("../..").VueNode;
        prefixCls: string;
        color: string | undefined;
        ghost: boolean | undefined;
        htmlType: "reset" | "submit" | "button";
        shape: import("ant-design-vue/lib/button").ButtonShape | undefined;
        loading: boolean | {
            delay?: number | undefined;
        };
        block: boolean | undefined;
        danger: boolean | undefined;
        href: string;
        title: string;
        disabled: boolean;
        preIcon: string | undefined;
        preIconColor: string | undefined;
        postIcon: string | undefined;
        postIconColor: string | undefined;
        iconSize: number;
        onClick: (...args: any[]) => any;
        permission: string | undefined;
        permissionCode: number | undefined;
        usePermission: {
            code: string;
            ref: any;
            row?: any;
        } | undefined;
        ifShow: boolean;
    }>;
    IfShow: import("vue").ComputedRef<(code: any) => any>;
    computedUsePermission: import("vue").ComputedRef<any>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    prefixCls?: unknown;
    type?: unknown;
    htmlType?: unknown;
    shape?: unknown;
    size?: unknown;
    loading?: unknown;
    ghost?: unknown;
    block?: unknown;
    danger?: unknown;
    icon?: unknown;
    href?: unknown;
    target?: unknown;
    title?: unknown;
    color?: unknown;
    disabled?: unknown;
    preIcon?: unknown;
    preIconColor?: unknown;
    postIcon?: unknown;
    postIconColor?: unknown;
    iconSize?: unknown;
    onClick?: unknown;
    permission?: unknown;
    permissionCode?: unknown;
    usePermission?: unknown;
    ifShow?: unknown;
} & {
    target: string;
    prefixCls: string;
    htmlType: "reset" | "submit" | "button";
    loading: boolean | {
        delay?: number | undefined;
    };
    href: string;
    title: string;
    disabled: boolean;
    iconSize: number;
    onClick: (...args: any[]) => any;
    ifShow: boolean;
} & {
    type?: "default" | "link" | "text" | "primary" | "ghost" | "dashed" | undefined;
    size?: "small" | "middle" | "large" | undefined;
    icon?: import("../..").VueNode;
    color?: string | undefined;
    ghost?: boolean | undefined;
    shape?: import("ant-design-vue/lib/button").ButtonShape | undefined;
    block?: boolean | undefined;
    danger?: boolean | undefined;
    preIcon?: string | undefined;
    preIconColor?: string | undefined;
    postIcon?: string | undefined;
    postIconColor?: string | undefined;
    permission?: string | undefined;
    permissionCode?: number | undefined;
    usePermission?: {
        code: string;
        ref: any;
        row?: any;
    } | undefined;
}>, {
    target: string;
    prefixCls: string;
    htmlType: "reset" | "submit" | "button";
    loading: boolean | {
        delay?: number | undefined;
    };
    href: string;
    title: string;
    disabled: boolean;
    iconSize: number;
    onClick: (...args: any[]) => any;
    ifShow: boolean;
}>>;
export { TaButton };
export default TaButton;
export * from './src/types';
