export interface IEventCenter { sending: boolean; event: Array; data: Array; record: Array; readonly get: () => Array; readonly getRecord: () => Array; readonly set: (data: any) => void; readonly setEvent: (data: any, config: IConfig) => void; readonly reportEvent: (config: IConfig) => void; readonly setRecord: (data: any) => void; readonly setCheckout: () => void; readonly clearRecord: () => void; } export declare type IUserConfig = { https: boolean; url: string; config: string; app_key: string; record?: boolean; globalClick?: boolean; recordReSoure?: boolean; disableAjax?: boolean; disableFetch?: boolean; autoSendPv?: boolean; enableSPA?: boolean; openHeartbeat?: boolean; sample?: number; beginTiming?: number; costTime?: number; slowAjaxCost?: number; slowResourceCost?: number; }; export interface IUserIncoming { [propName: string]: any; } export interface IConfig extends IUserConfig { startTime: number; protocol: string; resourceUrl: Array; resourceIndex: number; eventCenter: IEventCenter; serverOpenRecord: Boolean; readonly extend: (config: IConfig, conf: IUserIncoming) => any; readonly getRrwebEvent: () => Array; [propName: string]: any; }