import type { ActorResolver, ResolvedActor } from '@atcute/identity-resolver'; import type { ActorIdentifier } from '@atcute/lexicons'; import type { AtprotoAuthorizationServerMetadata } from '@atcute/oauth-types'; import { AuthorizationServerMetadataResolver } from './authorization-server-metadata.ts'; import { ProtectedResourceMetadataResolver } from './protected-resource-metadata.ts'; export interface ResolveOptions { signal?: AbortSignal; noCache?: boolean; } export interface ResolvedFromIdentity { identity: ResolvedActor; metadata: AtprotoAuthorizationServerMetadata; } export interface ResolvedFromService { identity?: undefined; metadata: AtprotoAuthorizationServerMetadata; } /** * resolves OAuth metadata for AT Protocol services. * * combines identity resolution with OAuth metadata discovery. */ export declare class OAuthResolver { readonly actorResolver: ActorResolver; readonly protectedResourceResolver: ProtectedResourceMetadataResolver; readonly authorizationServerResolver: AuthorizationServerMetadataResolver; constructor(actorResolver: ActorResolver, protectedResourceResolver: ProtectedResourceMetadataResolver, authorizationServerResolver: AuthorizationServerMetadataResolver); /** * resolves OAuth metadata from a service URL (PDS or entryway). * * tries as PDS first (protected resource), falls back to entryway (AS directly). * * @param url PDS or entryway URL * @param options resolution options * @returns AS metadata */ resolveFromService(url: string, options?: ResolveOptions): Promise; /** * resolves OAuth metadata from an identity (handle or DID). * * @param input handle or DID * @param options resolution options * @returns resolved actor and AS metadata */ resolveFromIdentity(input: ActorIdentifier, options?: ResolveOptions): Promise; private getResourceServerMetadata; } //# sourceMappingURL=index.d.ts.map