import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The level of reasoning the model should use. This setting is supported only by `gemini-3` models. If budget_tokens is specified and `thinking_level` is available, `budget_tokens` will be ignored.
 */
export declare const ThinkingLevel: {
    readonly Low: "low";
    readonly Medium: "medium";
    readonly High: "high";
};
/**
 * The level of reasoning the model should use. This setting is supported only by `gemini-3` models. If budget_tokens is specified and `thinking_level` is available, `budget_tokens` will be ignored.
 */
export type ThinkingLevel = ClosedEnum<typeof ThinkingLevel>;
/**
 * Enables the thinking mode capability
 */
export type ThinkingConfigEnabledSchema = {
    /**
     * Enables or disables the thinking mode capability
     */
    type: "enabled";
    /**
     * Determines how many tokens the model can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality. Must be ≥1024 and less than `max_tokens`.
     */
    budgetTokens: number;
    /**
     * The level of reasoning the model should use. This setting is supported only by `gemini-3` models. If budget_tokens is specified and `thinking_level` is available, `budget_tokens` will be ignored.
     */
    thinkingLevel?: ThinkingLevel | undefined;
};
/** @internal */
export declare const ThinkingLevel$inboundSchema: z.ZodNativeEnum<typeof ThinkingLevel>;
/** @internal */
export declare const ThinkingLevel$outboundSchema: z.ZodNativeEnum<typeof ThinkingLevel>;
/** @internal */
export declare const ThinkingConfigEnabledSchema$inboundSchema: z.ZodType<ThinkingConfigEnabledSchema, z.ZodTypeDef, unknown>;
/** @internal */
export type ThinkingConfigEnabledSchema$Outbound = {
    type: "enabled";
    budget_tokens: number;
    thinking_level?: string | undefined;
};
/** @internal */
export declare const ThinkingConfigEnabledSchema$outboundSchema: z.ZodType<ThinkingConfigEnabledSchema$Outbound, z.ZodTypeDef, ThinkingConfigEnabledSchema>;
export declare function thinkingConfigEnabledSchemaToJSON(thinkingConfigEnabledSchema: ThinkingConfigEnabledSchema): string;
export declare function thinkingConfigEnabledSchemaFromJSON(jsonString: string): SafeParseResult<ThinkingConfigEnabledSchema, SDKValidationError>;
//# sourceMappingURL=thinkingconfigenabledschema.d.ts.map