export interface WsBroadcastCounters {
    frames?: number;
    recipients?: number;
    scanned?: number;
    skipped?: number;
    bytes?: number;
    stringifyMs?: number;
    sendMs?: number;
    [key: string]: number | undefined;
}
export interface CpuDiagnostics {
    recordRest(label: string, status: number, durationMs: number, responseBytes?: number): void;
    recordWsBroadcast(label: string, type: string, counters: WsBroadcastCounters): void;
    recordTimer(label: string, durationMs: number, counters?: Record<string, number>): void;
    recordChildProcess(label: string, durationMs: number, metadata?: Record<string, string | number>): void;
    flush(reason?: string): void;
    shutdown(): void;
}
export interface CpuDiagnosticsSnapshot {
    kind: "cpu";
    ts: number;
    pid: number;
    wallMs: number;
    cpuUserMs: number;
    cpuSystemMs: number;
    cpuPct: number;
    elu: number;
    delayP50Ms: number;
    delayP95Ms: number;
    delayMaxMs: number;
    rssMb: number;
    heapUsedMb: number;
    heapTotalMb: number;
    externalMb: number;
    handles: Record<string, number>;
    reason?: string;
    rest: Record<string, unknown>;
    ws: Record<string, unknown>;
    timers: Record<string, unknown>;
    child: Record<string, unknown>;
}
export declare function cpuDiagnosticsEnabled(): boolean;
export declare function getCpuDiagnostics(): CpuDiagnostics;
export declare const CPU_DIAGNOSTICS_ENABLED: boolean;
export declare const CPU_DIAGNOSTICS_FLUSH_MS: number;
//# sourceMappingURL=cpu-diagnostics.d.ts.map