/**
 * ------------------------------------------------
 *  # Setup: Props
 * ------------------------------------------------
 */
export type DsgBadgeTheme = "pill-color" | "pill-outline" | "badge-color" | "badge-modern" | "filled";
export type DsgBadgeSize = "sm" | "md" | "lg";
export type DsgBadgeType = "standard" | "add" | "icon-only";
export type DsgBadgeThemeColor = "gray" | "brand" | "error" | "warning" | "success" | "gray-blue" | "blue-light" | "blue" | "indigo" | "purple" | "pink" | "orange";
export interface DsgBadgeProps {
    label?: string;
    type?: DsgBadgeType;
    size?: DsgBadgeSize;
    hasClose?: boolean;
    avatarUri?: string;
    iconBefore?: string;
    icon?: string;
    iconAfter?: string;
    iconOnly?: boolean;
    hasDot?: boolean;
    theme?: DsgBadgeTheme;
    themeColor?: DsgBadgeThemeColor;
    destroyOnClose?: boolean;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        'dsg-badge--before'?(_: {}): any;
        'dsg-badge--after'?(_: {}): any;
    };
    refs: {
        dsgBadge: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<DsgBadgeProps, {
    /**
     * Hide or Destroy the badge based on the 'destroyOnClose' prop
     *
     * @param {Event} clickEvent - The click event
     * @returns void
     */
    hideOrDestroy: (clickEvent?: Event) => void;
    /**
     * Click Event handler for the badge to manually trigger the 'on-click' event
     *
     * @param {Event} clickEvent - The click event
     * @returns void
     */
    clickEvent: (clickEvent?: Event) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    "before-hide": (el: HTMLDivElement) => any;
    "after-hide": (el: HTMLDivElement) => any;
    "before-destroy": (el: HTMLDivElement) => any;
    "after-destroy": () => any;
    "on-click": (el: HTMLDivElement) => any;
}, string, import('vue').PublicProps, Readonly<DsgBadgeProps> & Readonly<{
    "onBefore-hide"?: ((el: HTMLDivElement) => any) | undefined;
    "onAfter-hide"?: ((el: HTMLDivElement) => any) | undefined;
    "onBefore-destroy"?: ((el: HTMLDivElement) => any) | undefined;
    "onAfter-destroy"?: (() => any) | undefined;
    "onOn-click"?: ((el: HTMLDivElement) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    dsgBadge: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
