import type { HTTPRequest, HTTPResponse, RefreshableScheme, RefreshableSchemeOptions, SchemeCheck, SchemePartialOptions } from "../../types"; import type { Auth } from ".."; import { RefreshController, RefreshToken } from "../inc"; import { LocalScheme, LocalSchemeEndpoints, LocalSchemeOptions } from "./local"; export interface RefreshSchemeEndpoints extends LocalSchemeEndpoints { refresh: HTTPRequest; } export interface RefreshSchemeOptions extends LocalSchemeOptions, RefreshableSchemeOptions { endpoints: RefreshSchemeEndpoints; autoLogout: boolean; } export declare class RefreshScheme extends LocalScheme implements RefreshableScheme { refreshToken: RefreshToken; refreshController: RefreshController; constructor($auth: Auth, options: SchemePartialOptions); check(checkStatus?: boolean): SchemeCheck; mounted(): Promise; refreshTokens(): Promise; setUserToken(token: string | boolean, refreshToken?: string | boolean): Promise; reset({ resetInterceptor }?: { resetInterceptor?: boolean; }): void; protected updateTokens(response: HTTPResponse, { isRefreshing, updateOnRefresh }?: { isRefreshing?: boolean; updateOnRefresh?: boolean; }): void; protected initializeRequestInterceptor(): void; }