import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
/**
 * The grant type. This value must be set to "authorization_code".
 */
export declare const PublicAuthCodeGrantRequestBodyGrantType: {
    readonly AuthorizationCode: "authorization_code";
};
/**
 * The grant type. This value must be set to "authorization_code".
 */
export type PublicAuthCodeGrantRequestBodyGrantType = ClosedEnum<typeof PublicAuthCodeGrantRequestBodyGrantType>;
/**
 * This grant uses Proof Key for Code Exchange (PKCE) to authenticate securely without requiring a client secret.
 */
export type PublicAuthCodeGrantRequestBody = {
    /**
     * The grant type. This value must be set to "authorization_code".
     */
    grantType?: PublicAuthCodeGrantRequestBodyGrantType | undefined;
    /**
     * The client ID of the application.
     */
    clientId: string;
    /**
     * The authorization code supplied to the callback.
     */
    code: string;
    /**
     * The code verifier used to authenticate the request. This value is generated by the client and must be included in the request.
     */
    codeVerifier: string;
};
/** @internal */
export declare const PublicAuthCodeGrantRequestBodyGrantType$outboundSchema: z.ZodNativeEnum<typeof PublicAuthCodeGrantRequestBodyGrantType>;
/** @internal */
export type PublicAuthCodeGrantRequestBody$Outbound = {
    grant_type: string;
    client_id: string;
    code: string;
    code_verifier: string;
};
/** @internal */
export declare const PublicAuthCodeGrantRequestBody$outboundSchema: z.ZodType<PublicAuthCodeGrantRequestBody$Outbound, z.ZodTypeDef, PublicAuthCodeGrantRequestBody>;
export declare function publicAuthCodeGrantRequestBodyToJSON(publicAuthCodeGrantRequestBody: PublicAuthCodeGrantRequestBody): string;
//# sourceMappingURL=publicauthcodegrantrequestbody.d.ts.map