import { NavController } from '@ionic/angular';
import { Idle } from '@ng-idle/core';
import { Keepalive } from '@ng-idle/keepalive';
import { BehaviorSubject, Subscription } from 'rxjs';
import { LoggerService } from '../logger/logger.service';
import { LoginService } from '../login/login.service';
import * as i0 from "@angular/core";
/**
 * This service will automatically extend user's session by refreshing access_token if the validity of access token is less than 120s and
 * user is not idle on the screen.
 *
 * @author Prerak Tiwari
 */
export declare class IdleService {
    private logger;
    idle: Idle;
    private ls;
    private nav;
    private keepalive;
    private sessionValidityTill;
    timerInterval: import("rxjs").Observable<number>;
    timer: import("rxjs").Observable<0>;
    time: number;
    countDown: import("rxjs").Observable<number>;
    counter: BehaviorSubject<number>;
    lastPing?: Date;
    counterSubscription: Subscription;
    counterEndSubscription: Subscription;
    sessionValiditysubscription: Subscription;
    showSessionTimeoutWarning: BehaviorSubject<Boolean>;
    constructor(logger: LoggerService, idle: Idle, ls: LoginService, nav: NavController, keepalive: Keepalive);
    setupIdalTimeout(): void;
    reset(): void;
    stay(): void;
    setupSessionTimeoutObserver(): void;
    setupSessionObserver(): void;
    private unsubscribe;
    checkSessionValidity(): void;
    logout(): void;
    addSeconds(date: Date, secToAdd: number): Date;
    static ɵfac: i0.ɵɵFactoryDeclaration<IdleService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<IdleService>;
}
//# sourceMappingURL=idle.service.d.ts.map