import type { NostrSigner } from './types'; export interface OAuthStorage { savePkceState(state: { codeVerifier: string; nonce: string; }): void; loadPkceState(): { codeVerifier: string; nonce: string; } | null; clearPkceState(): void; saveAuthorizationHandle(handle: string): void; loadAuthorizationHandle(): string | null; clearAuthorizationHandle(): void; } export interface OAuthConfig { clientId: string; redirectUri: string; apiUrl?: string; scope?: string; storage: OAuthStorage; fetchImpl?: typeof fetch; } export interface OAuthResult { signer: NostrSigner; accessToken: string; refreshToken?: string; } export declare function buildOAuthUrl(config: OAuthConfig, options?: { defaultRegister?: boolean; }): Promise; export declare function exchangeCode(code: string, state: string, config: OAuthConfig): Promise; //# sourceMappingURL=oauth.d.ts.map