import { Header } from './Header';
import { LogMessageSeverity } from './LogMessageSeverity';
import { MethodSourceInfo } from './MethodSourceInfo';
export declare class LoupeAgent {
    private readonly window;
    private readonly document;
    propagateError: boolean;
    private maxRequestSize;
    private messageInterval;
    private existingOnError;
    private sequenceNumber;
    private sessionId;
    private agentSessionId;
    private messageStorage;
    private storageAvailable;
    private storageFull;
    private corsOrigin;
    private globalKeyList;
    private authHeader;
    constructor(window: Window, document: Document);
    verbose(category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    information(category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    warning(category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    error(category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    critical(category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    write(severity: LogMessageSeverity, category: string, caption: string, description: string, parameters?: any[] | null, exception?: any | null, details?: any | null, methodSourceInfo?: MethodSourceInfo | null): void;
    addSendMessageCommandToEventQueue(): void;
    setSessionId(value: string): void;
    setCORSOrigin(value: string | null): void;
    setAuthorizationHeader(header: Header): void;
    clientSessionHeader(): Header;
    resetMessageInterval(interval: number): void;
    private storageSupported;
    private sanitiseArgument;
    private buildMessageSourceInfo;
    private setUpOnError;
    private getPlatform;
    private getStackTrace;
    private createStackFromMessage;
    private createStackFromError;
    private stripLoupeStackFrames;
    private userFramesStartAt;
    private logError;
    private checkForStorageQuotaReached;
    private setUpClientSessionId;
    private storeClientSessionId;
    private getClientSessionHeader;
    private setUpSequenceNumber;
    private getNextSequenceNumber;
    private getSequenceNumber;
    private setSequenceNumber;
    private createMessage;
    private storeMessage;
    private createExceptionFromError;
    private createTimeStamp;
    private generateUUID;
    private truncateDetails;
    private dropMessage;
    private overSizeMessage;
    private messageSort;
    private getMessagesToSend;
    private removeKeysFromGlobalList;
    private removeMessagesFromStorage;
    private setMessageInterval;
    private debounce;
    private logMessageToServer;
    private afterRequest;
    private requestSucceeded;
    private requestFailed;
    private sendMessageToServer;
    private stripTrailingSlash;
    private createCORSRequest;
    private consoleLog;
}
