import { BaseStatsAnalytics, RunningTrackAnalytics } from './BaseStatsAnalytics';
import { LocalAudioTrackAnalytics, LocalBaseSample, LocalVideoSample, LocalVideoTrackAnalytics, PublishAnalyticPayload } from './interfaces';
import { HMSWebrtcStats } from '../../rtc-stats';
import { CPUPressureMonitor } from '../../utils/cpu-pressure-monitor';
export declare class PublishStatsAnalytics extends BaseStatsAnalytics {
    protected trackAnalytics: Map<string, RunningLocalTrackAnalytics>;
    private cpuPressureMonitor?;
    constructor(store: any, eventBus: any, sampleWindowSize: number, pushInterval: number);
    protected toAnalytics(): PublishAnalyticPayload;
    protected sendEvent(): void;
    stop(): void;
    protected handleStatsUpdate(hmsStats: HMSWebrtcStats): void;
    private getTrackIdentifier;
}
declare class RunningLocalTrackAnalytics extends RunningTrackAnalytics {
    samples: (LocalBaseSample | LocalVideoSample)[];
    private cpuPressureMonitor?;
    constructor(params: {
        track: any;
        sampleWindowSize: number;
        rid?: string;
        ssrc: string;
        kind: string;
        cpuPressureMonitor?: CPUPressureMonitor;
    });
    private getQualityLimitation;
    private getSourceStats;
    protected collateSample: () => LocalBaseSample | LocalVideoSample;
    shouldCreateSample: () => boolean;
    toAnalytics: () => LocalAudioTrackAnalytics | LocalVideoTrackAnalytics;
}
export {};
