import { Observable } from 'rxjs'; import { Store } from '@ngrx/store'; import { Credential, User, ChangePasswordRequest, ResetPasswordRequest } from '../auth.model'; import { AuthState } from './auth.reducer'; import { Subsidiary } from '../../subsidiaries/subsidiaries.model'; import { SubsidiarySegment } from '../../subsidiarySegment/subsidiaryXsegment.model'; import { EnvService } from '../../env/env.service'; export declare class AuthFacade { private store; private envService; authState$: Observable; user$: Observable; subsidiary$: Observable; subsidiarySegment$: Observable; constructor(store: Store, envService: EnvService); selectAuthState(): Observable; isLoggedIn(): Observable; selectAccessToken(): Observable; hasRole(role: string | string[]): Observable; login(credential: Credential): void; logout(): void; refreshToken(user: User): void; loadState(): void; changeCurrentSubsidiary(id: string): void; changeCurrentSubsidiarySegment(subsdiaryId: string, segmentId: string): void; changePassword(request: ChangePasswordRequest): void; requestPasswordReset(userName: string): void; resetPassword(request: ResetPasswordRequest): void; }