import { UaePassTokens, UaePassUserProfile } from './uae-pass.types';
import { UaePassAuthStatus } from './uae-pass.enums';
import * as i0 from "@angular/core";
export declare class UaePassAuthService {
    private readonly http;
    private readonly cfg;
    private readonly _status;
    private readonly _tokens;
    private readonly _profile;
    private readonly _error;
    readonly status: import("@angular/core").Signal<UaePassAuthStatus>;
    readonly tokens: import("@angular/core").Signal<UaePassTokens | null>;
    readonly profile: import("@angular/core").Signal<UaePassUserProfile | null>;
    readonly error: import("@angular/core").Signal<string | null>;
    readonly isAuthenticated: import("@angular/core").Signal<boolean>;
    private readonly texts;
    private requestTimeoutMs;
    private storageMode;
    constructor();
    buildAuthorizeUrl(): Promise<string>;
    redirectToAuthorization(): Promise<void>;
    handleRedirectCallback(currentUrl?: string): Promise<void>;
    exchangeToken(code: string): Promise<UaePassTokens>;
    fetchUserInfo(accessToken: string): Promise<UaePassUserProfile | null>;
    logout(): void;
    resetError(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<UaePassAuthService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UaePassAuthService>;
}
