import { Provider } from '@angular/core';
import { Router } from '@angular/router';
import { ConfigService } from '@rxap/config';
import { FormSubmitMethod, FormSubmitSuccessfulMethod, FormType, RxapFormControl, RxapFormGroup } from '@rxap/forms';
import { RxapOnInit } from '@rxap/utilities';
import { SignInWithEmailAndPasswordMethod } from './sign-in-with-email-and-password.method';
import * as i0 from "@angular/core";
export interface ILoginForm {
    email: string;
    password: string;
}
export declare class LoginForm implements FormType<ILoginForm>, RxapOnInit {
    readonly config: ConfigService<any>;
    rxapFormGroup: RxapFormGroup;
    loading: boolean;
    loginFailed: boolean;
    email: RxapFormControl<string>;
    password: RxapFormControl;
    remember: RxapFormControl;
    constructor(config: ConfigService<any>);
    rxapOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoginForm, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LoginForm>;
}
export declare class LoginFormSubmitMethod implements FormSubmitMethod<any> {
    private readonly signInWithEmailAndPasswordMethod;
    constructor(signInWithEmailAndPasswordMethod: SignInWithEmailAndPasswordMethod);
    call(value: {
        email: string;
        password: string;
        remember: boolean;
    }): Promise<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormSubmitMethod, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LoginFormSubmitMethod>;
}
export declare class LoginFormSubmitSuccessful implements FormSubmitSuccessfulMethod<any> {
    private readonly router;
    constructor(router: Router);
    call(): Promise<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormSubmitSuccessful, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LoginFormSubmitSuccessful>;
}
export declare const LoginFormProviders: Provider[];
