export interface StatsCardData {
    type: 'summary' | 'languages' | 'rhythm' | 'achievement' | 'wrapped';
    title: string;
    subtitle: string;
    period: string;
    stats: Record<string, string | number>;
    extras?: Record<string, unknown>;
}
export interface SummaryCardData extends StatsCardData {
    type: 'summary';
    stats: {
        totalSessions: number;
        totalTokens: string;
        totalCost: string;
        totalHours: string;
        projectCount: number;
        filesChanged: number;
    };
}
export interface LanguageCardData extends StatsCardData {
    type: 'languages';
    stats: {
        languageCount: number;
    };
    extras: {
        languages: Array<{
            name: string;
            percentage: number;
            color: string;
        }>;
    };
}
export interface RhythmCardData extends StatsCardData {
    type: 'rhythm';
    stats: {
        peakHour: string;
        peakDay: string;
        archetype: string;
        archetypeEmoji: string;
    };
    extras: {
        hourlyActivity: number[];
        dailyActivity: number[];
    };
}
export interface AchievementCardData extends StatsCardData {
    type: 'achievement';
    stats: {
        percentile: number;
        totalSessions: number;
        totalProjects: number;
        totalTokens: string;
    };
}
export interface WrappedCardData extends StatsCardData {
    type: 'wrapped';
    stats: {
        sessions: number;
        hours: string;
        tokens: string;
        cost: string;
        projects: number;
        files: number;
        topProject: string;
        topModel: string;
        achievementTitle: string;
    };
}
declare class CardsService {
    private formatTokens;
    private formatDuration;
    private formatHours;
    private getSessionsInPeriod;
    private getPeriodLabel;
    getSummaryCard(period?: 'week' | 'month' | 'year' | 'all'): SummaryCardData;
    getLanguagesCard(period?: 'week' | 'month' | 'year' | 'all'): LanguageCardData;
    getRhythmCard(period?: 'week' | 'month' | 'year' | 'all'): RhythmCardData;
    private formatHourRange;
    getAchievementCard(): AchievementCardData;
    getWrappedCard(period?: 'week' | 'month' | 'year' | 'all'): WrappedCardData;
    getAllCards(period?: 'week' | 'month' | 'year' | 'all'): {
        summary: SummaryCardData;
        languages: LanguageCardData;
        rhythm: RhythmCardData;
        achievement: AchievementCardData;
        wrapped: WrappedCardData;
    };
}
export declare const cardsService: CardsService;
export {};
//# sourceMappingURL=cards.d.ts.map