import { ActionReport, MonitorConstructor, WebReportEvent } from '../../types';
export interface TearDown {
    (): void;
}
export interface ActionMonitorConfig {
    types: string[] | false;
    pure?: boolean;
}
export interface StartAction {
    (name: string, type: string): void;
}
export interface ApplyOtherReport {
    (ev: WebReportEvent): string | undefined;
}
export declare const enum ActionType {
    CLICK = "click"
}
export declare type BeforeCb = (id: number, val: number) => void;
export declare type AfterCb = (id: number, err?: Error) => void;
export declare type ActionMonitorConstructor = MonitorConstructor<ActionMonitorConfig, ActionReport, [
    win: Window,
    document: Document,
    XMLHttpRequest: typeof XMLHttpRequest,
    MutationObserver: typeof MutationObserver,
    performance: Performance
], [
    TearDown,
    ApplyOtherReport,
    StartAction
]>;
