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

interface StatCardData {
    label: string;
    value: number;
    icon?: string;
    color?: string;
}
interface BadgeData {
    name: string;
    description: string;
    icon: string;
    unlockedAt?: string;
    isUnlocked: boolean;
}
interface ProgressDisplayProps {
    stats: StatCardData[];
    badges: BadgeData[];
    level?: number;
    accuracy?: number;
}
interface ProgressDisplayAPI {
    /** The computed stats array */
    stats: StatCardData[];
    /** The badges array */
    badges: BadgeData[];
    /** ARIA props for the stats region */
    ariaProps: Partial<AccessibilityProps>;
    /** Get ARIA props for a specific badge */
    getBadgeAriaProps: (badge: BadgeData) => Partial<AccessibilityProps>;
}
declare function createProgressDisplay(props: ProgressDisplayProps): ProgressDisplayAPI;

declare const statsGridVariants: (props?: ({
    columns?: "2" | "3" | "4" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const statCardVariants: (props?: ({
    color?: "default" | "primary" | "success" | "warning" | "destructive" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const badgeGridVariants: (props?: ({
    columns?: "3" | "4" | "5" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const badgeItemVariants: (props?: ({
    state?: "unlocked" | "locked" | undefined;
} & {
    className?: string;
}) | undefined) => string;
declare const progressBarVariants: (props?: ({
    size?: "sm" | "md" | "lg" | undefined;
} & {
    className?: string;
}) | undefined) => string;

export { type BadgeData, type ProgressDisplayAPI, type ProgressDisplayProps, type StatCardData, badgeGridVariants, badgeItemVariants, createProgressDisplay, progressBarVariants, statCardVariants, statsGridVariants };
