import { InstrumentationBase, InstrumentationConfig } from '@opentelemetry/instrumentation';
import { CoralogixRumLabels, CxStackFrame } from '../types';
export declare const STACK_FRAME_LIMIT = 50;
export declare const STACK_LINE_LIMIT = 1024;
export declare function sanitizeConsoleErrorStack(stack: string | undefined): string | undefined;
export declare function extractMfePath(fileName: string): string | undefined;
export declare const ERROR_INSTRUMENTATION_NAME = "errors";
export declare const ErrorAttributes: {
    TYPE: string;
    STACK: string;
    MESSAGE: string;
    DATA: string;
};
export declare enum ErrorSource {
    CONSOLE = "console",
    WINDOW = "window",
    UNHANDLED_REJECTION = "unhandledrejection",
    DOCUMENT = "document",
    CAPTURED = "captured",
    WEB_WORKER = "web_worker"
}
interface CoralogixErrorInstrumentationConfig extends InstrumentationConfig {
    ignoreErrors?: Array<string | RegExp>;
}
export declare function parseStackFrames(err: Error): CxStackFrame[];
export declare class CoralogixErrorInstrumentation extends InstrumentationBase {
    constructor(config: CoralogixErrorInstrumentationConfig);
    protected init(): void;
    enable(): void;
    disable(): void;
    report(source: ErrorSource, arg: string | Error | Event | ErrorEvent | Array<any>, stackContextError?: Error): void;
    parseErrorObject: (obj: any) => string;
    reportError(source: ErrorSource, err: Error, customData?: unknown, labels?: CoralogixRumLabels): Promise<void>;
    private reportString;
    private reportErrorEvent;
    private reportEvent;
    private createSpan;
    private getPossibleEventMessage;
}
export {};
