import { type AtprotoAuthorizationServerMetadata } from '@atcute/oauth-types'; import { CachedGetter, type GetCachedOptions } from '../utils/cached-getter.ts'; import type { Store } from '../utils/store.ts'; /** authorization server metadata cache, keyed by issuer */ export type AuthorizationServerMetadataCache = Store; export interface AuthorizationServerMetadataResolverOptions { /** metadata cache, keyed by issuer */ cache: AuthorizationServerMetadataCache; /** allow http:// loopback issuers (for development only) */ allowHttp?: boolean; /** custom fetch implementation */ fetch?: typeof globalThis.fetch; } /** * resolves OAuth authorization server metadata. * * @see {@link https://datatracker.ietf.org/doc/html/rfc8414} */ export declare class AuthorizationServerMetadataResolver extends CachedGetter { private readonly allowHttp; private readonly fetch; constructor(options: AuthorizationServerMetadataResolverOptions); /** * resolves metadata for an authorization server. * * @param issuer authorization server issuer URL * @param options fetch options * @returns validated authorization server metadata */ resolve(input: string, options?: GetCachedOptions): Promise; private fetchMetadata; } //# sourceMappingURL=authorization-server-metadata.d.ts.map