/**
 * CPU Frequency / Thermal / PMU Aggregator (Spark Plan 13)
 *
 * Folds independent attribution facets into one
 * `CpuThermalPmuContract`. Caller passes only the facets they have
 * data for; missing facets surface as `unsupportedReason` rather than
 * being zero-filled.
 */
import { type CpuThermalPmuContract, type NsTimeRange } from '../types/sparkContracts';
export interface CpuFreqResidencySample {
    cpu: number;
    freqHz: number;
    durNs: number;
}
export interface ThermalThrottleInput {
    zone: string;
    ts: number;
    tempMc: number;
    throttleStage?: number;
}
export interface PmuSampleInput {
    counter: string;
    utid?: number;
    process?: string;
    thread?: string;
    value: number;
    derived?: Record<string, number>;
}
export interface CpuThermalPmuOptions {
    range: NsTimeRange;
    freqSamples?: CpuFreqResidencySample[];
    thermalSamples?: ThermalThrottleInput[];
    pmuSamples?: PmuSampleInput[];
    smoothFraction?: number;
    jankFraction?: number;
}
export declare function buildCpuThermalPmu(options: CpuThermalPmuOptions): CpuThermalPmuContract;
//# sourceMappingURL=cpuThermalPmu.d.ts.map