import { PropType } from "vue";
import { CSSProperties } from "vue/types/jsx";
declare const SIZE: readonly ["small", "medium", "large"];
declare const TYPE: readonly ["default", "primary", "secondary", "success", "error", "warning", "dark", "placeholder"];
export type TagSize = typeof SIZE[number];
export type TagType = typeof TYPE[number];
/**
 * Tags are used to label, categorize, or organize items using different keywords that describe them. Colour coded tags are helpful to quickly classify items and quickly catch user’s attention.
 */
declare const _default: import("vue/types/v3-define-component").DefineComponent<{
    /**
     * 'small' | 'medium' | 'large'
     */
    size: {
        type: PropType<"small" | "large" | "medium">;
        default: string;
        validator(value: TagSize): boolean;
    };
    /**
     * 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'dark' | 'placeholder'
     */
    type: {
        type: PropType<"default" | "success" | "error" | "warning" | "primary" | "secondary" | "dark" | "placeholder">;
        default: string;
        validator(value: TagType): boolean;
    };
    /**
     * tabindex number
     *  */
    tabindex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * set background for tag
     */
    background: {
        type: PropType<import("csstype").Property.Background<string | number> | undefined>;
        default: null;
    };
    /**
     * set color for text
     */
    color: {
        type: PropType<import("csstype").Property.Color | undefined>;
        default: null;
    };
    /**
     * 'curved' | 'rounded'
     */
    shape: {
        type: PropType<"curved" | "rounded">;
        default: string;
        validator(value: "curved" | "rounded"): boolean;
    };
    /**
     * This will add hover effect and cursor-pointer
     */
    clickable: {
        type: BooleanConstructor;
        default: boolean;
    };
}, import("vue").Data, import("vue").Data, {
    styleObj(): CSSProperties;
}, {
    handleClick(e: MouseEvent): void;
}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
    /**
     * 'small' | 'medium' | 'large'
     */
    size: {
        type: PropType<"small" | "large" | "medium">;
        default: string;
        validator(value: TagSize): boolean;
    };
    /**
     * 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'dark' | 'placeholder'
     */
    type: {
        type: PropType<"default" | "success" | "error" | "warning" | "primary" | "secondary" | "dark" | "placeholder">;
        default: string;
        validator(value: TagType): boolean;
    };
    /**
     * tabindex number
     *  */
    tabindex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * set background for tag
     */
    background: {
        type: PropType<import("csstype").Property.Background<string | number> | undefined>;
        default: null;
    };
    /**
     * set color for text
     */
    color: {
        type: PropType<import("csstype").Property.Color | undefined>;
        default: null;
    };
    /**
     * 'curved' | 'rounded'
     */
    shape: {
        type: PropType<"curved" | "rounded">;
        default: string;
        validator(value: "curved" | "rounded"): boolean;
    };
    /**
     * This will add hover effect and cursor-pointer
     */
    clickable: {
        type: BooleanConstructor;
        default: boolean;
    };
}>>, {
    type: "default" | "success" | "error" | "warning" | "primary" | "secondary" | "dark" | "placeholder";
    tabindex: number;
    size: "small" | "large" | "medium";
    shape: "curved" | "rounded";
    background: import("csstype").Property.Background<string | number> | undefined;
    clickable: boolean;
    color: import("csstype").Property.Color | undefined;
}>;
export default _default;
