import { EventEmitter, OnInit } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
import { Router } from '@angular/router';
import { ModalController, Platform } from '@ionic/angular';
import { TapAuth } from '@iotize/tap/auth';
import { CurrentDeviceService } from '@iotize/ionic';
import { Observable } from 'rxjs';
import { TapAuthService } from '../tap-auth.service';
interface LoginOption {
    username: string;
    password: string;
    rememberMe: boolean;
    autoLogin: boolean;
}
export declare class DeviceLoginComponent implements OnInit {
    protected tapService: CurrentDeviceService;
    private router;
    private platform;
    modalController: ModalController;
    private formBuilder;
    private tapAuth;
    /**
     * Refresh session state on login
     */
    refreshSessionState: boolean;
    header: boolean;
    footer: boolean;
    returnUrl?: string;
    closeButton: boolean;
    backButton: boolean;
    enableAutoLogin: boolean;
    enableRememberMe: boolean;
    title: string;
    onError: EventEmitter<Error>;
    form: FormGroup;
    error?: Error;
    sessionState$: Observable<TapAuth.SessionState>;
    promise$?: Promise<any>;
    loading: boolean;
    pendingLoginCall?: () => Promise<LoginOption>;
    connectionStateSub: any;
    get tap(): import("@iotize/tap").Tap;
    get rememberMe(): AbstractControl;
    get autoLogin(): AbstractControl;
    get username(): AbstractControl;
    get password(): AbstractControl;
    getField(name: string): AbstractControl;
    constructor(tapService: CurrentDeviceService, router: Router, platform: Platform, modalController: ModalController, formBuilder: FormBuilder, tapAuth: TapAuthService);
    ngOnInit(): void;
    login(): Promise<void>;
    dismiss(): Promise<void>;
    cancelAction(): void;
    private _execCall;
    private _onError;
}
export {};
