import type { Observable } from "rxjs";
import type { LogEntry } from "../../logger/logger";
import type { LensState } from "../../session/lensState";
import type { MetricsEventTarget } from "../metricsEventTarget";
import type { MetricsClient } from "../../clients/metricsClient";
interface RepeatableLogEntry {
    entry: LogEntry;
    count: number;
    lastTime: Date;
}
export declare function getContextString(logEntries: RepeatableLogEntry[]): string;
export declare function reportExceptionToBlizzard(logEntries: Observable<LogEntry>, metricsEventTarget: MetricsEventTarget, metrics: MetricsClient, lensState?: LensState): void;
export interface GlobalExceptionReporter {
    attachLensContext: (lensState: LensState) => void;
}
/**
 * Reports log entries to Blizzard when there is no CameraKit session yet.
 *
 * @internal
 */
export declare const reportGlobalException: {
    (args_0: Observable<LogEntry>, args_1: MetricsEventTarget, args_2: MetricsClient): GlobalExceptionReporter;
    token: "reportGlobalException";
    dependencies: readonly ["logEntries", "metricsEventTarget", "metricsClient"];
};
export {};
//# sourceMappingURL=reportGlobalException.d.ts.map