import { FormGroup } from '@angular/forms';
import { OnInit } from '@angular/core';
import { AuthError } from '@supabase/supabase-js';
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 * as i0 from "@angular/core";
export declare class RegisterComponent implements OnInit {
    readonly config: SupabaseConfig;
    private readonly log;
    private readonly supabase;
    private readonly routeService;
    title: string;
    email: string;
    /**
     * 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;
    readonly errorMessage: import("@angular/core").WritableSignal<string>;
    readonly working: import("@angular/core").WritableSignal<boolean>;
    readonly verifyingOtp: import("@angular/core").WritableSignal<boolean>;
    readonly wait: import("@angular/core").WritableSignal<WaitMessage | null>;
    readonly form: FormGroup;
    constructor(config: SupabaseConfig, log: LogService, supabase: SupabaseService, routeService: RouteService);
    ngOnInit(): void;
    register(): Promise<void>;
    verifyOtp(token: string): Promise<void>;
    onError(error: AuthError | string): void;
    protected setupForMetadata(): void;
    protected getRedirectTo(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<RegisterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RegisterComponent, "supabase-register", never, { "title": { "alias": "title"; "required": false; }; "email": { "alias": "email"; "required": false; }; "redirectToUrl": { "alias": "redirectToUrl"; "required": false; }; "redirectToPath": { "alias": "redirectToPath"; "required": false; }; }, {}, never, never, true, never>;
}
