type FetchLike = typeof fetch; export interface JwksTokenVerifierOptions { jwksUrl: string | URL; clockSkewSeconds?: number; allowedAlgorithms?: readonly string[]; jwksCacheTtlMs?: number; jwksFetchTimeoutMs?: number; jwksRefreshCooldownMs?: number; allowInsecureJwks?: boolean; requireAccessTokenType?: boolean; fetch?: FetchLike; } export interface JwksVerifiedAccessToken { token: string; issuer: string; audience: string[]; scopes: string[]; expiresAt: number; claims: Record; subject?: string; clientId?: string; } export interface JwksTokenVerifier { verify(input: { token: string; resource: string; authorizationServers: readonly string[]; requiredScopes: readonly string[]; }): Promise; } export declare function createJwksTokenVerifier(options: JwksTokenVerifierOptions): JwksTokenVerifier; export {};