import { ComponentSize, ComponentStatus } from '../../../xiaoye-primitives/index.js';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
type TagLegacyType = "default" | "primary" | "success" | "info" | "warning" | "danger";
export interface TagProps {
    status?: ComponentStatus;
    type?: TagLegacyType;
    size?: ComponentSize;
    round?: boolean;
    closable?: boolean;
    icon?: string;
}
export type TagCloseHandler = (event: MouseEvent) => void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        icon?(_: {}): any;
        default?(_: {}): any;
    };
    refs: {};
    rootEl: HTMLSpanElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<TagProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    close: (event: MouseEvent) => any;
}, string, PublicProps, Readonly<TagProps> & Readonly<{
    onClose?: ((event: MouseEvent) => any) | undefined;
}>, {
    size: ComponentSize;
    type: TagLegacyType;
    icon: string;
    closable: boolean;
    round: boolean;
    status: ComponentStatus;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
