import { UrlTree } from '@angular/router';
import { OnInit } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
import { Subject } from 'rxjs';
import { WaitMessage } from '../wait-message';
import { RouteService } from '../route.service';
import { LogService } from '../logging/log.service';
import { SupabaseConfig } from '../supabase-config';
import { SupabaseService } from '../supabase.service';
import { PersistentStorageService } from '../storage/persistent-storage.service';
import * as i0 from "@angular/core";
export declare class SignInComponent implements OnInit {
    title: string;
    email: string;
    password: string;
    usePassword: boolean;
    redirectTo: string;
    rememberMe: boolean | undefined;
    /**
     * The absolute route to redirect to from the email link. This should not
     * be used in conjunction with "redirectToPath" (use one or the other).
     */
    redirectToUrl: string;
    /**
     * A route path to redirect to from the email link (as apposed to an absolute path).
     * This path will be appended to the app's root URL and will be the URL that is
     * targeted from the email link. This should not be used in conjunction with
     * "redirectTo" (use one or the other).
     */
    redirectToPath: string;
    forgotPassword: boolean;
    signingIn: Subject<boolean>;
    form: FormGroup<{
        email: FormControl<string | null>;
        password: FormControl<string | null>;
        usePassword: FormControl<boolean | null>;
        rememberMe: FormControl<boolean | null>;
    }>;
    readonly errorMessage: import("@angular/core").WritableSignal<string | null>;
    readonly wait: import("@angular/core").WritableSignal<WaitMessage | null>;
    readonly verifyingOtp: import("@angular/core").WritableSignal<boolean>;
    protected readonly log: LogService;
    protected readonly config: SupabaseConfig;
    protected readonly supabase: SupabaseService;
    protected readonly routeService: RouteService;
    protected readonly storage: PersistentStorageService;
    ngOnInit(): void;
    showSignInWithPassword(event?: MouseEvent): void;
    showSignInWithEmail(event?: MouseEvent): void;
    showForgotPassword(event?: MouseEvent): void;
    signIn(): void;
    verifyOtp(token: string): Promise<void>;
    protected revalidateAllControls(): void;
    protected signInWithPassword(): Promise<void>;
    protected getRedirectUrl(): string | string[] | UrlTree;
    protected signInWithMagicLink(): Promise<void>;
    protected tryLoadRememberMe(): void;
    protected clearRememberMe(): void;
    protected trySaveRememberMe(): void;
    protected getRedirectTo(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<SignInComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SignInComponent, "supabase-sign-in", never, { "title": { "alias": "title"; "required": false; }; "email": { "alias": "email"; "required": false; }; "password": { "alias": "password"; "required": false; }; "usePassword": { "alias": "usePassword"; "required": false; }; "redirectTo": { "alias": "redirectTo"; "required": false; }; "rememberMe": { "alias": "rememberMe"; "required": false; }; "redirectToUrl": { "alias": "redirectToUrl"; "required": false; }; "redirectToPath": { "alias": "redirectToPath"; "required": false; }; }, {}, never, never, true, never>;
}
