/** PKCE challenge method types */ export type PKCEChallengeMethod = "S256" | "plain"; /** Generate a PKCE code challenge from a code verifier * @param code_verifier base64url encoded code verifier * @param method The challenge method to use (defaults to "S256") * @returns The base64 url encoded code challenge (or plain verifier if method is "plain") */ export declare function generateChallenge(code_verifier: string, method?: PKCEChallengeMethod): Promise; /** Generate a PKCE challenge pair * @param length Length of the verifer (between 43-128). Defaults to 43. * @param method The challenge method to use. Defaults to "S256". * @returns PKCE challenge pair */ export default function pkceChallenge(length?: number, method?: PKCEChallengeMethod): Promise<{ code_verifier: string; code_challenge: string; code_challenge_method: PKCEChallengeMethod; }>; /** Verify that a code_verifier produces the expected code challenge * @param code_verifier * @param expectedChallenge The code challenge to verify * @param method The challenge method used (defaults to "S256") * @returns True if challenges are equal. False otherwise. */ export declare function verifyChallenge(code_verifier: string, expectedChallenge: string, method?: PKCEChallengeMethod): Promise;