import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const Flow: {
    readonly Confidential: "confidential";
};
export type Flow = ClosedEnum<typeof Flow>;
/**
 * The grant type. This value must be set to "authorization_code".
 */
export declare const ConfidentialAuthCodeGrantRequestBodyGrantType: {
    readonly AuthorizationCode: "authorization_code";
};
/**
 * The grant type. This value must be set to "authorization_code".
 */
export type ConfidentialAuthCodeGrantRequestBodyGrantType = ClosedEnum<typeof ConfidentialAuthCodeGrantRequestBodyGrantType>;
/**
 * The request body for the confidential authorization code grant type.
 */
export type ConfidentialAuthCodeGrantRequestBody = {
    flow?: "confidential" | undefined;
    /**
     * The grant type. This value must be set to "authorization_code".
     */
    grantType?: ConfidentialAuthCodeGrantRequestBodyGrantType | undefined;
    /**
     * The authorization code supplied to the callback.
     */
    code: string;
};
/** @internal */
export declare const Flow$inboundSchema: z.ZodNativeEnum<typeof Flow>;
/** @internal */
export declare const Flow$outboundSchema: z.ZodNativeEnum<typeof Flow>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Flow$ {
    /** @deprecated use `Flow$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Confidential: "confidential";
    }>;
    /** @deprecated use `Flow$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Confidential: "confidential";
    }>;
}
/** @internal */
export declare const ConfidentialAuthCodeGrantRequestBodyGrantType$inboundSchema: z.ZodNativeEnum<typeof ConfidentialAuthCodeGrantRequestBodyGrantType>;
/** @internal */
export declare const ConfidentialAuthCodeGrantRequestBodyGrantType$outboundSchema: z.ZodNativeEnum<typeof ConfidentialAuthCodeGrantRequestBodyGrantType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConfidentialAuthCodeGrantRequestBodyGrantType$ {
    /** @deprecated use `ConfidentialAuthCodeGrantRequestBodyGrantType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly AuthorizationCode: "authorization_code";
    }>;
    /** @deprecated use `ConfidentialAuthCodeGrantRequestBodyGrantType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly AuthorizationCode: "authorization_code";
    }>;
}
/** @internal */
export declare const ConfidentialAuthCodeGrantRequestBody$inboundSchema: z.ZodType<ConfidentialAuthCodeGrantRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type ConfidentialAuthCodeGrantRequestBody$Outbound = {
    flow: "confidential";
    grant_type: string;
    code: string;
};
/** @internal */
export declare const ConfidentialAuthCodeGrantRequestBody$outboundSchema: z.ZodType<ConfidentialAuthCodeGrantRequestBody$Outbound, z.ZodTypeDef, ConfidentialAuthCodeGrantRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConfidentialAuthCodeGrantRequestBody$ {
    /** @deprecated use `ConfidentialAuthCodeGrantRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ConfidentialAuthCodeGrantRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `ConfidentialAuthCodeGrantRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ConfidentialAuthCodeGrantRequestBody$Outbound, z.ZodTypeDef, ConfidentialAuthCodeGrantRequestBody>;
    /** @deprecated use `ConfidentialAuthCodeGrantRequestBody$Outbound` instead. */
    type Outbound = ConfidentialAuthCodeGrantRequestBody$Outbound;
}
export declare function confidentialAuthCodeGrantRequestBodyToJSON(confidentialAuthCodeGrantRequestBody: ConfidentialAuthCodeGrantRequestBody): string;
export declare function confidentialAuthCodeGrantRequestBodyFromJSON(jsonString: string): SafeParseResult<ConfidentialAuthCodeGrantRequestBody, SDKValidationError>;
//# sourceMappingURL=confidentialauthcodegrantrequestbody.d.ts.map