/**
 * @fileoverview Realtime Voice — analytics overview section.
 *
 * Operational analytics for voice-agent sessions, built from
 * `MJ: AI Agent Sessions`, their `MJ: AI Agent Session Channels` rows, and the
 * delegated `MJ: AI Agent Runs` linked via `AgentSessionID`. Renders the KPI
 * row (active sessions, sessions in window, avg duration, delegated runs,
 * janitor closes, cost), a sessions-over-time bar chart, the channel-usage
 * donut, the top delegated target agents, and a recent-sessions list with a
 * "View all" jump to the full sessions grid.
 */
import { EventEmitter, OnInit } from '@angular/core';
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
import { KPICardData } from '../../widgets/kpi-card.component';
import * as i0 from "@angular/core";
interface TimeBucket {
    Label: string;
    Count: number;
    /** 0–100, relative to the busiest bucket. */
    HeightPercent: number;
    /** Flagged when the bucket is delegated-heavy (≥2 delegated runs/session avg). */
    DelegatedHeavy: boolean;
}
interface ChannelShare {
    Name: string;
    Count: number;
    Percent: number;
    Color: string;
}
interface TargetAgentBar {
    Name: string;
    Count: number;
    WidthPercent: number;
}
interface RecentSessionRow {
    ID: string;
    Target: string;
    ViaAgent: string;
    User: string;
    Status: string;
    StatusClass: string;
    StatusLabel: string;
    StatusTitle: string;
    /** Pill icon (close cause for Closed rows); empty for Active, which renders the live dot. */
    StatusIcon: string;
    ChannelIcons: string[];
    Runs: number;
    Cost: string;
    Duration: string;
}
export declare class AnalyticsRealtimeOverviewComponent extends BaseAngularComponent implements OnInit {
    private _timeRange;
    set TimeRange(value: string);
    get TimeRange(): string;
    /** Lets the shell jump to the full sessions grid (mirrors Executive Summary's pattern). */
    SectionNavigate: EventEmitter<string>;
    private initialized;
    private cdr;
    private dataset;
    IsLoading: boolean;
    KPICards: KPICardData[];
    TimeBuckets: TimeBucket[];
    ChannelShares: ChannelShare[];
    DonutGradient: string;
    TopTargetAgents: TargetAgentBar[];
    RecentSessions: RecentSessionRow[];
    ngOnInit(): void;
    /** Reloads everything for the current time range. */
    LoadData(): Promise<void>;
    /** Opens the AIAgentSession record using the shared Explorer record-open path. */
    OpenSession(sessionId: string): void;
    private get windowSessions();
    private buildKPICards;
    private buildTimeBuckets;
    private buildChannelShares;
    private buildTopTargetAgents;
    private buildRecentSessions;
    /** Exposed for testability / template type narrowing. */
    FormatTokens(value: number): string;
    /** Window length in ms for the active range (exposed for tests). */
    get WindowMs(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsRealtimeOverviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AnalyticsRealtimeOverviewComponent, "app-analytics-realtime-overview", never, { "TimeRange": { "alias": "TimeRange"; "required": false; }; }, { "SectionNavigate": "SectionNavigate"; }, never, never, false, never>;
}
export declare function LoadAnalyticsRealtimeOverview(): void;
export {};
//# sourceMappingURL=realtime-overview.component.d.ts.map