import { ExtractPropTypes, PropType } from 'vue';
import { RoundT, ColorT } from '../_utils/types';
export declare const TagColorTypes: readonly ["normal", "info", "primary", "success", "warning", "danger"];
export type TagColorT = (typeof TagColorTypes)[number];
export declare const TagVariantTypes: readonly ["solid", "outline"];
export type TagVariantT = (typeof TagVariantTypes)[number];
export declare const TagSizeTypes: readonly ["medium", "small"];
export type TagSizeT = (typeof TagSizeTypes)[number];
export declare const tagProps: {
    /**
     * 标签颜色 ColorT
     */
    color: {
        type: PropType<ColorT>;
        default: string;
    };
    /**
     * 标签类型 TagVariantT
     */
    variant: {
        type: PropType<TagVariantT>;
        default: string;
    };
    /**
     * 标签尺寸 TagSizeT
     */
    size: {
        type: PropType<TagSizeT>;
        default: string;
    };
    /**
     * 圆角值 RoundT
     */
    round: {
        type: PropType<RoundT>;
    };
    /**
     * 是否可关闭
     */
    closable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * tag是否可见 v-model
     */
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    /**
     * 非受控模式，tag是否默认可见
     */
    defaultVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 关闭前的钩子函数
     */
    beforeClose: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
};
export type TagPropsT = ExtractPropTypes<typeof tagProps>;
