import { z } from 'zod';
import type { ResolvedStringSchema, StringSchema } from '../../../../schema/index.js';
import type { WithValidate } from '../utils.js';
import type { ZodFormatterOptions } from './types.js';
import type { WithDecoding, WithOptional } from './utils.js';
export type StringZodFormatter<SCHEMA extends StringSchema, OPTIONS extends ZodFormatterOptions = {}> = WithDecoding<SCHEMA, OPTIONS, WithOptional<SCHEMA, OPTIONS, WithValidate<SCHEMA, SCHEMA['props'] extends {
    enum: [ResolvedStringSchema];
} ? z.ZodLiteral<SCHEMA['props']['enum'][0]> : SCHEMA['props'] extends {
    enum: [ResolvedStringSchema, ...ResolvedStringSchema[]];
} ? z.ZodEnum<SCHEMA['props']['enum']> : z.ZodString>>>;
export declare const getStringZodFormatter: (schema: StringSchema, options?: ZodFormatterOptions) => z.ZodTypeAny;
