import { Context, EventContext } from '../event-context'; import { Emitter } from '../event-emitter'; import { PageDefault } from './page-info'; export interface PageView { context?: Context; message_id?: string; page: PageDefault; visit_start: Date; visit_end?: Date; focus_intervals: number[]; } export interface PageTime { page: PageDefault; time: number; } export declare class PageTracker extends Emitter { private pages; private focusTimer; private collecting; private collectFocusTimeout; private collectedSomeFocus; private context; private autocapture; private registered; constructor(ctx: EventContext); startAutocapture: () => void; stopAutocapture: () => void; allPages: () => PageView[]; get currentPage(): PageView; get currentFocusTime(): number; get currentIdleTime(): number; get sessionFocusTime(): number; private onReplaceState; onVisibilityChange: () => void; private makePage; private collect; private endCurrentPage; private onPageShow; private onPageHide; private recordFocusTime; get scheduled(): boolean; reset(): void; }