import type { HTTPRequest, HTTPResponse, RefreshableScheme, RefreshableSchemeOptions, SchemeCheck, SchemePartialOptions } from '../../types'; import type { Auth } from '..'; import { RefreshController, RefreshToken } from '../inc'; import { LocalScheme, type LocalSchemeEndpoints, type 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 | void>; refreshTokens(): Promise | void>; setUserToken(token: string | boolean, refreshToken?: string | boolean): Promise | void>; reset({ resetInterceptor }?: { resetInterceptor?: boolean | undefined; }): void; protected extractRefreshToken(response: HTTPResponse): string; protected updateTokens(response: HTTPResponse): void; protected initializeRequestInterceptor(): void; }