import { KeyLike } from 'jose'; export { generate as generatePKCE, generatePlatform as generatePlatformPKCE } from './pkce'; export { parseQueryResponse, parseURLResponse } from './response'; import { type OpenIDConfiguration } from './OpenIDConfiguration'; import { ErrorResponse } from './response'; export { OpenIDConfigurationManager, type OpenIDConfiguration } from './OpenIDConfiguration'; export declare function buildLogoutURL(configuration: OpenIDConfiguration, options: { id_token_hint?: string; logout_hint?: string; post_logout_redirect_uri?: string; state?: string; ui_locales?: string; }): URL; export declare type AuthorizeURLOptions = { redirect_uri: string; response_type: string; response_mode: string; acr_values?: string | string[]; code_challenge_method?: string; code_challenge?: string; state?: string; login_hint?: string; ui_locales?: string; scope: string; prompt?: string; nonce?: string; }; export declare function buildAuthorizeURL(configuration: OpenIDConfiguration, options: AuthorizeURLOptions | { request_uri: string; } | { request: string; }): URL; export declare function parseAuthorizeOptionsFromUrl(input: string | URL): Partial & { domain: string; client_id: string; }; export declare function pushAuthorizeRequest(configuration: OpenIDConfiguration, options: { request: AuthorizeURLOptions | { request: string; }; authentication: { client_secret: string; } | { client_assertion: string; } | null; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; }): Promise<{ request_uri: string; }>; export declare function codeExchange(configuration: OpenIDConfiguration, options: { code: string; redirect_uri: string; code_verifier: string; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; } | { code: string; redirect_uri: string; client_secret: string; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; } | { code: string; redirect_uri: string; signingKey: KeyLike; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; } | { code: string; redirect_uri: string; code_verifier?: string; client_assertion: string; fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise; }): Promise<{ id_token: string; access_token: string; } | ErrorResponse>; export declare function userInfo(configuration: OpenIDConfiguration, accessToken: string, options?: { fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise; }): Promise<{ [key: string]: string; } | ErrorResponse>;