import type { TokenResponse } from "./types.js"; export interface TokenEndpointDeps { readonly fetchImpl?: typeof fetch | undefined; readonly validateUrl?: ((url: string) => URL) | undefined; } export interface ExchangeAuthorizationCodeParams { readonly tokenEndpoint: string; readonly code: string; readonly redirectUri: string; readonly clientId: string; readonly clientSecret?: string | undefined; readonly codeVerifier: string; readonly resource?: string | undefined; } export interface RefreshAccessTokenParams { readonly tokenEndpoint: string; readonly refreshToken: string; readonly clientId: string; readonly clientSecret?: string | undefined; readonly resource?: string | undefined; readonly scope?: string | undefined; } export declare function exchangeAuthorizationCode(params: ExchangeAuthorizationCodeParams, deps?: TokenEndpointDeps): Promise; export declare function refreshAccessToken(params: RefreshAccessTokenParams, deps?: TokenEndpointDeps): Promise;