import { type BCC_CONTEXT } from '@/contexts';
import type { VueComponent } from '@/types';
export type BadgeProps = {
    /** Main content: number, short text, or an icon component. Slot overrides this when provided. */
    value?: string | number | VueComponent;
    /** Controls badge dimensions and typography scale (sm through xl). */
    size?: 'sm' | 'md' | 'lg' | 'xl';
    /** Adds a 1px border around the badge. */
    border?: boolean;
    /** Adds a 2px border around the badge. */
    bordered?: boolean;
    /** Renders with square corners; when false, badge is pill-shaped. */
    squared?: boolean;
    /** Design context (e.g. neutral, brand) used for background and text color. */
    context?: BCC_CONTEXT;
    gradient?: boolean;
};
declare var __VLS_1: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_1) => any;
};
declare const __VLS_base: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
    size: "sm" | "md" | "lg" | "xl";
    context: BCC_CONTEXT;
    gradient: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
