23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import { Permission } from './models/permission.model';
|
|
/**
|
|
* Public surface for components/pages. Components should depend on this,
|
|
* not on AuthService/SessionService/PermissionService directly, so the
|
|
* orchestration details (which service owns what) can change without
|
|
* touching UI code.
|
|
*/
|
|
export declare class AuthFacade {
|
|
private readonly auth;
|
|
private readonly session;
|
|
private readonly permissions;
|
|
private readonly router;
|
|
readonly isAuthenticated: import("@angular/core").Signal<boolean>;
|
|
readonly status: import("@angular/core").Signal<import("./session.service").SessionStatus>;
|
|
readonly role: import("@angular/core").Signal<import("..").AdminRole | null>;
|
|
readonly loginPhase: import("@angular/core").Signal<import("./auth.service").LoginPhase>;
|
|
readonly lastError: import("@angular/core").Signal<import("..").AuthError | null>;
|
|
restoreSession(): void;
|
|
login(onSuccessRedirectTo?: string): void;
|
|
logout(redirectTo?: string): void;
|
|
can(permission: Permission): boolean;
|
|
}
|