interface DefaultOptions {
    uuid?: string;
    requestUrl?: string;
    historyTracker?: boolean;
    hashTracker?: boolean;
    domTracker?: boolean;
    sdkVersion?: string | number;
    extra?: Record<string, any>;
    jsError?: boolean;
}
interface Options extends DefaultOptions {
    requestUrl: string;
}
interface reportTrackerData {
    [key: string]: any;
    event: string;
    targetKey: string;
}

declare class Tracker {
    data: Options;
    constructor(options: Options);
    setUserId<T extends DefaultOptions['uuid']>(uuid: T): void;
    setExtra<T extends DefaultOptions['extra']>(extra: T): void;
    sendTracker(data: reportTrackerData): void;
    private initDef;
    private targetKeyReport;
    private captureEvents;
    private installTracker;
    private jsError;
    private errorEvent;
    private promiseReject;
    private reportTracker;
}

export { Tracker };
