import type { RendererNode, RendererElement, PropType,  ExtractPropTypes,  VNode } from 'vue';
import type { TagSizeType, TagType, TagCloseEndInterface } from './interface';
export declare const Props: {
    readonly type: {
        readonly type: PropType<TagType>;
        readonly default: () => TagType;
        readonly validator: (val: TagType) => boolean;
    };
    readonly close: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly round: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly background: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly color: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly beforeIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        readonly default: () => null;
    };
    readonly afterIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        readonly default: () => null;
    };
    readonly size: {
        readonly type: PropType<TagSizeType>;
        readonly default: () => TagSizeType;
        readonly validator: (val: TagSizeType) => boolean;
    };
    readonly simple: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly block: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly line: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly closeEnd: {
        readonly type: PropType<TagCloseEndInterface>;
        readonly default: () => null;
    };
};
export declare type TagPropsType = ExtractPropTypes<typeof Props>;
