import { Environment } from './environment';
import type { MonitorLogger } from './MonitorLogger';
type CaptureExceptionOptions = {
    tags?: Record<string, unknown>;
};
export interface ErrorMonitor {
    captureException(exception: unknown): string;
}
export interface InternalErrorMonitor {
    captureException(exception: unknown, options?: CaptureExceptionOptions): string;
}
export type MonitoredEvent = 'initial-load' | 'initial-fetch-data' | 'initial-full-render' | 'e2e';
export declare class WixPatternsMonitor {
    private _internalErrorMonitor;
    private _errorMonitor;
    private _internalFedops;
    private _reports;
    private _environment;
    private _csid;
    constructor({ internalErrorMonitor, errorMonitor, internalFedops, environment, csid, }: {
        internalErrorMonitor: InternalErrorMonitor;
        errorMonitor: ErrorMonitor;
        internalFedops: MonitorLogger | undefined;
        environment: Environment;
        csid: string;
    });
    /**
     * This method is used to report errors that occur within the application. It takes in an error object with the following properties:
     * @param errorCode A WixPatternsErrorCode enum value representing the error that occurred.
     * @param exception The exception that was thrown.
     * @param extraData (optional) Additional data related to the error.
     * @param propagate (optional) Propagates report to vertical error monitor.
     * @default propagate true
     */
    reportError({ error, propagate, category, }: {
        error: unknown;
        propagate?: boolean;
        category?: string;
    }): void;
    get extraInteractionParams(): {
        cairoVersion: string | undefined;
        componentId: string | undefined;
        csid: string;
    };
    interactionStarted(interactionName: string): void;
    interactionEnded(interactionName: string): void;
    reportInteractionStart(componentName: string, event: MonitoredEvent, customParams?: Record<string, string | boolean>): void;
    reportInteractionEnd(componentName: string, event: MonitoredEvent, customParams?: Record<string, string | boolean>): void;
    reportErrorThrownOncePerFlow(): void;
}
export {};
//# sourceMappingURL=cairoMonitor.d.ts.map