import { JsErrorProps, ReportJsError } from '../../monitors/js-error';
import { WebClient } from '../../types';
import { WithBreadcrumb } from './breadcrumb';
export { JS_ERROR_EV_TYPE } from '../../monitors/js-error';
export { normalizeUnknownError } from '../../monitors/js-error/util';
export declare const JS_ERROR_MONITOR_PLUGIN_NAME = "jsError";
export declare type WithCaptureException<C extends WebClient> = C & {
    captureException?: ReportJsError;
};
export declare type WithJSErrorPrecollect<C extends WebClient> = C & {
    pcErr?: (e: ErrorEvent) => void;
    pcRej?: (e: PromiseRejectionEvent) => void;
};
export declare type JsErrorMonitorConfig = JsErrorProps;
export interface JsErrorMonitorPluginConfig {
    [JS_ERROR_MONITOR_PLUGIN_NAME]?: Partial<JsErrorMonitorConfig> | boolean;
}
export declare function JsErrorMonitorPlugin<C extends WithJSErrorPrecollect<WithBreadcrumb<WebClient>>>(client: C): void;
