import { Fetch } from '@atproto-labs/fetch';
import { Key, Keyset } from '@atproto/jwk';
import { OAuthAuthorizationServerMetadata } from '@atproto/oauth-types';
import { GetCachedOptions } from './oauth-authorization-server-metadata-resolver.js';
import { OAuthResolver } from './oauth-resolver.js';
import { DpopNonceCache, OAuthServerAgent } from './oauth-server-agent.js';
import { Runtime } from './runtime.js';
import { ClientMetadata } from './types.js';
export declare class OAuthServerFactory {
    readonly clientMetadata: ClientMetadata;
    readonly runtime: Runtime;
    readonly resolver: OAuthResolver;
    readonly fetch: Fetch;
    readonly keyset: Keyset | undefined;
    readonly dpopNonceCache: DpopNonceCache;
    constructor(clientMetadata: ClientMetadata, runtime: Runtime, resolver: OAuthResolver, fetch: Fetch, keyset: Keyset | undefined, dpopNonceCache: DpopNonceCache);
    fromIssuer(issuer: string, dpopKey: Key, options?: GetCachedOptions): Promise<OAuthServerAgent>;
    fromMetadata(serverMetadata: OAuthAuthorizationServerMetadata, dpopKey: Key): Promise<OAuthServerAgent>;
}
//# sourceMappingURL=oauth-server-factory.d.ts.map