/**
 * OAuth 2.0 Authorization Code grant with PKCE for Splitwise.
 *
 * Two-step flow:
 *   1. `createAuthorizationUrl` builds the consent URL and generates the
 *      `state` and `code_verifier` the caller must persist.
 *   2. After the user approves and Splitwise redirects back with `?code=...`,
 *      `exchangeAuthorizationCode` swaps that code for an access token.
 *
 * PKCE (RFC 7636) is mandatory here. The verifier never leaves the caller
 * until step 2, which protects against authorization code interception.
 */
import { type PostTokenRequestOptions } from './internal.js';
import type { AuthorizationUrlParams, AuthorizationUrlResult, ExchangeCodeParams, OAuthToken } from './types.js';
export declare function createAuthorizationUrl(params: AuthorizationUrlParams, options?: {
    authorizeUrl?: string;
}): Promise<AuthorizationUrlResult>;
export declare function exchangeAuthorizationCode(params: ExchangeCodeParams, options?: PostTokenRequestOptions): Promise<OAuthToken>;
//# sourceMappingURL=authorization-code.d.ts.map