/**
 * @fileoverview Usage Patterns Analytics.
 *
 * Displays a time-of-day heatmap (7 days × 24 hours), day-of-week distribution bars,
 * peak hours summary cards, and an hourly throughput bar chart.
 * Data loaded from MJ: AI Prompt Runs for the last 30 days.
 */
import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
import * as i0 from "@angular/core";
interface HeatmapCell {
    Day: number;
    Hour: number;
    Count: number;
    Intensity: number;
}
interface DayDistribution {
    DayIndex: number;
    DayName: string;
    Count: number;
    WidthPercent: number;
}
interface PeakSummary {
    Label: string;
    Value: string;
    Count: number;
    Icon: string;
    CountUnit?: string;
}
interface HourlyBar {
    Hour: number;
    Label: string;
    Count: number;
    HeightPercent: number;
}
export declare class AnalyticsUsagePatternsComponent extends BaseAngularComponent implements OnInit, OnDestroy {
    private _timeRange;
    private isInitialized;
    set TimeRange(value: string);
    get TimeRange(): string;
    TimeRangeChange: EventEmitter<string>;
    IsLoading: boolean;
    TotalRuns: number;
    HeatmapCells: HeatmapCell[][];
    DayDistributions: DayDistribution[];
    PeakSummaries: PeakSummary[];
    HourlyBars: HourlyBar[];
    readonly DayNames: string[];
    readonly Hours: number[];
    private destroy$;
    private cdr;
    ngOnInit(): Promise<void>;
    OnTimeRangeChange(range: string): void;
    ngOnDestroy(): void;
    getCellBackground(day: number, hour: number): string;
    getCellTooltip(day: number, hour: number): string;
    getCellCount(day: number, hour: number): number;
    private loadData;
    private fetchPromptRuns;
    /**
     * Build a 7×24 count matrix: dayCounts[dayIndex][hour] = count.
     * dayIndex 0 = Monday, 6 = Sunday. Uses the JS Date getDay() offset.
     */
    private buildDayHourCounts;
    private buildHeatmap;
    private buildDayDistributions;
    private buildHourlyBars;
    private buildPeakSummaries;
    private findMaxCount;
    private indexOfMax;
    private formatHourLabel;
    private formatHourRange;
    private formatHour12;
    private fullDayName;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsUsagePatternsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AnalyticsUsagePatternsComponent, "app-analytics-usage-patterns", never, { "TimeRange": { "alias": "TimeRange"; "required": false; }; }, { "TimeRangeChange": "TimeRangeChange"; }, never, never, false, never>;
}
export declare function LoadAnalyticsUsagePatterns(): void;
export {};
//# sourceMappingURL=usage-patterns.component.d.ts.map