import { IHistoryRecord } from "../hisyory/historyChange"; import { ApaasTrack } from "../apaas-track"; import { BaseEvent } from "apaas-track/core/index"; export interface ITrackOnlineOptions { collectUrl?: (location: Location) => boolean; } export interface IElementTrack { name: string; collector: (element: HTMLElement, location: Location) => boolean; } interface IViewOnlineStorageData { name: string; duration: number; } export declare class OnlineEvent extends BaseEvent { constructor(apaasTrack: ApaasTrack); url: string; duration: number; startTime: number; endTime: number; views: IViewOnlineStorageData[]; getProperties(): { url: string; duration: number; startTime: number; endTime: number; }; setProperties(property: { duration: number; url: string; startTime: number; endTime: number; views?: IViewOnlineStorageData[]; }): void; } export declare const trackOnlineEvent: (apaasTrack: ApaasTrack, options?: ITrackOnlineOptions) => (record: IHistoryRecord) => void; export declare class PageOnline { url: string; duration: number; startTime: number; onlineOptions: ITrackOnlineOptions; apaasTrack: ApaasTrack; visibleChangeHandler: (e: Event) => void; beforeUnLoadHandler?: (e: BeforeUnloadEvent) => void; userActionHandler: (e: Event) => void; onlineTimer: number | null; stopTimeout: number | null; constructor(apaasTrack: ApaasTrack, url: string, options?: ITrackOnlineOptions); startUserActionMonitor(): void; stopUserActionMonitor(): void; init(): void; private saveOnlineData; private getStorageOnlineData; /** * 删除某个对应页面中的在线本地数据 * @param url 页面url,不传则删除全部。 * @returns */ private cleanOnlineData; start(): void; stop(): void; destroy(): void; sendRecord(useBeacon?: boolean, pageUrl?: string): void; } export declare const registerOnlineEvent: (options?: ITrackOnlineOptions) => void; export {};