import type { HTMLAttributes, ReactNode } from 'react';
import { type VariantProps } from '../../lib/cv.js';
declare const badge: (props?: ({
    tone?: "info" | "primary" | "danger" | "neutral" | "success" | "warning" | undefined;
    size?: "sm" | "lg" | "md" | undefined;
} & {
    class?: string | false | null | undefined;
    className?: string | false | null | undefined;
}) | undefined) => string;
export type BadgeVariants = VariantProps<typeof badge>;
/**
 * Map document statuses to badge tones. Exposed so callers can reuse the
 * mapping (e.g. for the same status rendered as a dot indicator).
 */
export declare const STATUS_TONE: Record<DocumentStatus, BadgeVariants['tone']>;
export declare const STATUS_LABEL: Record<DocumentStatus, string>;
export type DocumentStatus = 'published' | 'draft' | 'archived' | 'scheduled';
export interface BadgeProps extends HTMLAttributes<HTMLSpanElement>, BadgeVariants {
    /**
     * Shorthand for the canonical document status badge. When set, takes
     * precedence over `tone` and uses the matching label.
     */
    status?: DocumentStatus;
    /** Render as outlined (border + transparent background). */
    outline?: boolean;
    children?: ReactNode;
}
/**
 * Generic typed badge. Pass `status` for the canonical document-status
 * variants (preserves the original Badge API), or `tone` / `outline` /
 * `size` for everything else.
 */
export declare function Badge({ status, tone, outline, size, className, children, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
export { badge as badgeVariants };
//# sourceMappingURL=Badge.d.ts.map