import { type OAuthTokenResponse } from './oauth-utils.js'; export interface RefreshAccessTokenOptions { force?: boolean; } export type OnTokenRefreshCallback = (tokens: OAuthTokenResponse) => void | Promise; export type OnBeforeRefreshCallback = () => Promise<{ refreshToken?: string; accessToken?: string; accessTokenExpiresAt?: number; } | undefined>; export interface OAuthTokenManagerOptions { serverUrl: string; profileName: string; clientId: string; clientSecret?: string; issuer?: string; resource?: string; refreshToken: string; accessToken?: string; accessTokenExpiresAt?: number; onTokenRefresh?: OnTokenRefreshCallback; onBeforeRefresh?: OnBeforeRefreshCallback; } export declare class OAuthTokenManager { private serverUrl; private profileName; private clientId; private clientSecret; private issuer; private resource; private refreshToken; private accessToken; private accessTokenExpiresAt; private onTokenRefresh?; private onBeforeRefresh?; private refreshInFlight; private lastRefreshedAtMillis; constructor(options: OAuthTokenManagerOptions); isAccessTokenExpired(): boolean; getSecondsUntilExpiry(): number; refreshAccessToken(options?: RefreshAccessTokenOptions): Promise; private doRefreshAccessToken; getValidAccessToken(): Promise; } //# sourceMappingURL=oauth-token-manager.d.ts.map