export interface TimeTrackerConfig {
    intervalSeconds: number;
    onTimeUpdate: (url: string, timeSpent: number) => void;
    getCurrentUrl: () => string;
    onRouteChange?: (callback: () => void) => () => void;
}
export interface TimeTrackerState {
    currentUrl: string;
    startTime: number;
    intervalId: number | null;
    routeUnsubscribe: (() => void) | null;
}
export declare class TimeTracker {
    private state;
    private config;
    constructor(config: TimeTrackerConfig);
    private initialize;
    private startTracking;
    private clearInterval;
    private resetTimer;
    private getTimeSpent;
    private sendTimeUpdate;
    private handleRouteChange;
    pause(): void;
    resume(): void;
    destroy(): void;
    getCurrentUrl(): string;
    getTimeSpentSinceLastReset(): number;
}
