import { type AtprotoProtectedResourceMetadata } from '@atcute/oauth-types'; import { CachedGetter, type GetCachedOptions } from '../utils/cached-getter.ts'; import type { Store } from '../utils/store.ts'; /** protected resource metadata cache, keyed by resource origin */ export type ProtectedResourceMetadataCache = Store; export interface ProtectedResourceMetadataResolverOptions { /** metadata cache, keyed by resource origin */ cache: ProtectedResourceMetadataCache; /** allow http:// resources (for development only) */ allowHttp?: boolean; /** custom fetch implementation */ fetch?: typeof globalThis.fetch; } /** * resolves OAuth protected resource metadata. * * @see {@link https://www.rfc-editor.org/rfc/rfc9728.html} */ export declare class ProtectedResourceMetadataResolver extends CachedGetter { private readonly allowHttp; private readonly fetch; constructor(options: ProtectedResourceMetadataResolverOptions); /** * resolves metadata for a protected resource (PDS). * * @param resource protected resource URL or origin * @param options fetch options * @returns validated protected resource metadata */ resolve(resource: string | URL, options?: GetCachedOptions): Promise; private fetchMetadata; } //# sourceMappingURL=protected-resource-metadata.d.ts.map