import { Logger } from 'aurelia-logging'; import { Observable } from 'rxjs/internal/Observable'; import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { Subject } from 'rxjs/internal/Subject'; import { HttpClient } from 'aurelia-fetch-client'; import { ILoginResponse } from './i-login-response'; import { IUsersClient } from './i-users-client'; import { ITokens } from './i-tokens'; import { DateService } from '@aurelia-toolkit/date'; import { AuthConfiguration } from './auth-configuration'; export declare class AuthService { private dateService; private usersClient; private httpClient; private authConfiguration; constructor(dateService: DateService, usersClient: IUsersClient, httpClient: HttpClient, authConfiguration: AuthConfiguration); logger: Logger; logins$: BehaviorSubject>; tokens$: Observable; tokensForRefresh$: BehaviorSubject; isAuthenticated$: Observable; expired$: Subject; storageKey: string; login(request: unknown): Promise; logout(): void; init(): Promise; refreshToken(refreshToken: string): Promise; isAuthenticated(): Promise; getTokens(): Promise; appendAuthHeaders(request: Request): Promise; useNewToken(r: Response): Response; }