import { type TSchema, type TUnsafe } from "@sinclair/typebox";
type StringEnumOptions<T extends readonly string[]> = {
    description?: string;
    default?: T[number];
};
/**
 * Constructs a TypeBox schema describing a fixed list of allowed string values,
 * serialised in the plain `{ type: "string", enum: [...] }` shape. Several
 * backends (notably Google's generative APIs) reject the richer `anyOf` /
 * `const` JSON-Schema output that TypeBox would otherwise generate from
 * `Type.Union` of `Type.Literal`s, so this helper is the safe wire-format.
 *
 * @example
 * const Color = StringEnum(["red", "green", "blue"], { description: "Pick a color" });
 * type Color = Static<typeof Color>; // "red" | "green" | "blue"
 */
export declare function StringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TUnsafe<T[number]>;
/**
 * Returns a freshly-cloned, plain-object copy of the given schema so that the
 * downstream validator compiler can ingest it without choking on non-POJO
 * inputs that providers or tooling sometimes hand us.
 */
export declare function normalizeSchemaForValidation(schema: TSchema): TSchema;
export {};
