import { NgZone } from '@angular/core'; import { Observable, Subject, Subscription } from 'rxjs'; import { UserIdleConfig } from './angular-user-idle.config'; import * as i0 from "@angular/core"; /** * User's idle service. */ export declare class UserIdleService { private _ngZone; ping$: Observable; /** * Events that can interrupts user's inactivity timer. */ protected activityEvents$: Observable; protected timerStart$: Subject; protected idleDetected$: Subject; protected timeout$: Subject; protected idle$: Observable; protected timer$: Observable; /** * Idle value in milliseconds. * Default equals to 10 minutes. */ protected idleMillisec: number; /** * Idle buffer wait time milliseconds to collect user action * Default equals to 1 Sec. */ protected idleSensitivityMillisec: number; /** * Timeout value in seconds. * Default equals to 5 minutes. */ protected timeout: number; /** * Ping value in milliseconds. * Default equals to 2 minutes. */ protected pingMillisec: number; /** * Timeout status. */ protected isTimeout: boolean; /** * Timer of user's inactivity is in progress. */ protected isInactivityTimer: boolean; protected isIdleDetected: boolean; protected idleSubscription: Subscription; constructor(config: UserIdleConfig, _ngZone: NgZone); /** * Start watching for user idle and setup timer and ping. */ startWatching(): void; stopWatching(): void; stopTimer(): void; resetTimer(): void; /** * Return observable for timer's countdown number that emits after idle. */ onTimerStart(): Observable; /** * Return observable for idle status changed */ onIdleStatusChanged(): Observable; /** * Return observable for timeout is fired. */ onTimeout(): Observable; getConfigValue(): UserIdleConfig; /** * Set config values. * @param config */ setConfigValues(config: UserIdleConfig): void; private setConfig; /** * Set custom activity events * * @param customEvents Example: merge( * fromEvent(window, 'mousemove'), * fromEvent(window, 'resize'), * fromEvent(document, 'keydown'), * fromEvent(document, 'touchstart'), * fromEvent(document, 'touchend') * ) */ setCustomActivityEvents(customEvents: Observable): void; /** * Setup timer. * * Counts every seconds and return n+1 and fire timeout for last count. * @param timeout Timeout in seconds. */ protected setupTimer(timeout: number): void; /** * Setup ping. * * Pings every ping-seconds only if is not timeout. * @param pingMillisec */ protected setupPing(pingMillisec: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }