import { AccessibilityProps } from '../shared/index.js';

type StatusType = 'success' | 'error' | 'warning' | 'info' | 'pending' | 'neutral';
interface StatusProps {
    /** The status type */
    type: StatusType;
    /** Label to display alongside the status dot */
    label?: string;
    /** Whether to show a pulse animation (primarily for 'pending' status) */
    pulse?: boolean;
}
interface StatusAPI {
    /** ARIA attributes for the status indicator */
    ariaProps: Partial<AccessibilityProps> & Record<string, unknown>;
    /** The status type */
    type: StatusType;
    /** The display label */
    label: string;
    /** Whether to show pulse animation */
    pulse: boolean;
    /** CSS color class name for the dot */
    color: string;
}
declare const STATUS_INDICATOR_COLORS: Record<StatusType, string>;
declare const STATUS_INDICATOR_LABELS: Record<StatusType, string>;

declare function createStatusIndicator(props: StatusProps): StatusAPI;

declare const statusContainerStyles = "inline-flex items-center gap-1.5";
declare const statusDotVariants: (props?: ({
    type?: "success" | "error" | "warning" | "info" | "pending" | "neutral" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const statusPulseVariants: (props?: ({
    type?: "success" | "error" | "warning" | "info" | "pending" | "neutral" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const statusLabelStyles = "text-sm text-muted-foreground";

export { STATUS_INDICATOR_COLORS as STATUS_COLORS, STATUS_INDICATOR_LABELS as STATUS_LABELS, type StatusAPI, type StatusProps, type StatusType, createStatusIndicator, statusContainerStyles, statusDotVariants, statusLabelStyles, statusPulseVariants };
