import { HighlightClassOptions } from '../index';
import { ConsoleMethods } from '../types/client';
import { ConsoleMessage, ErrorMessage } from '../types/shared-types';
import { RequestResponsePair, WebSocketEvent, WebSocketRequest } from './network-listener/utils/models';
export declare class FirstLoadListeners {
    disableConsoleRecording: boolean;
    reportConsoleErrors: boolean;
    enablePromisePatch: boolean;
    consoleMethodsToRecord: ConsoleMethods[];
    listeners: (() => void)[];
    errors: ErrorMessage[];
    messages: ConsoleMessage[];
    options: HighlightClassOptions;
    hasNetworkRecording: boolean | undefined;
    _backendUrl: string;
    disableNetworkRecording: boolean;
    enableRecordingNetworkContents: boolean;
    xhrNetworkContents: RequestResponsePair[];
    fetchNetworkContents: RequestResponsePair[];
    disableRecordingWebSocketContents: boolean;
    webSocketNetworkContents: WebSocketRequest[] | undefined;
    webSocketEventContents: WebSocketEvent[];
    tracingOrigins: boolean | (string | RegExp)[];
    networkHeadersToRedact: string[];
    networkBodyKeysToRedact: string[] | undefined;
    networkBodyKeysToRecord: string[] | undefined;
    networkHeaderKeysToRecord: string[] | undefined;
    lastNetworkRequestTimestamp: number;
    urlBlocklist: string[];
    requestResponseSanitizer?: (pair: RequestResponsePair) => RequestResponsePair | null;
    constructor(options: HighlightClassOptions);
    isListening(): boolean;
    startListening(): void;
    stopListening(): void;
    static setupNetworkListener(sThis: FirstLoadListeners, options: HighlightClassOptions): void;
    static getRecordedNetworkResources(sThis: FirstLoadListeners, recordingStartTime: number): Array<PerformanceResourceTiming | WebSocketRequest>;
    static getRecordedWebSocketEvents(sThis: FirstLoadListeners): Array<WebSocketEvent>;
    static clearRecordedNetworkResources(sThis: FirstLoadListeners): void;
}
