/**
 * @requestUrl 接口地址
 * @historyTracker history上报
 * @hashTracker hash上报
 * @domTracker 携带Tracker-key 点击事件上报
 * @historyTracker sdkVersion sdk版本
 * @historyTracker extra 透传字段
 * @jsError js 和 promise 报错异常上报
 */
interface DefaultOptons {
    user_id: number | string | undefined;
    requestUrl: string | undefined;
    historyTracker: boolean;
    hashTracker: boolean;
    domTracker: boolean;
    sdkVersion: string | number;
    extra: Record<string, any> | undefined;
    jsError: boolean;
}
interface Options extends Partial<DefaultOptons> {
    requestUrl: string;
}

declare class Tracker {
    data: Options;
    private version;
    constructor(options: Options);
    private initDef;
    setUserId<T extends DefaultOptons['user_id']>(user_id: T): void;
    /**
     * track
     * @event: 事件名称
     * @property: 事件属性
     */
    track(event: string, property?: {
        [key: string]: any;
    }): void;
    /**
     * 手动触发发送操作2
     *
    */
    sendTracker(event: string, targetKey?: string, property?: {
        [key: string]: any;
    }): void;
    private captureEvents;
    private reportTracker;
    private installInnerTrack;
    private targetKeyReport;
    private jsError;
    private errorEvent;
    private promiseReject;
}

export { Tracker as default };
