import type { z } from 'zod'; import type { AnyOfSchema, AnySchema, BinarySchema, BooleanSchema, ItemSchema, ListSchema, MapSchema, NullSchema, NumberSchema, RecordSchema, Schema, SetSchema, StringSchema } from '../../../../schema/index.js'; import type { AnyZodParser } from './any.js'; import type { AnyOfZodParser } from './anyOf.js'; import type { BinaryZodParser } from './binary.js'; import type { BooleanZodParser } from './boolean.js'; import type { ItemZodParser } from './item.js'; import type { ListZodParser } from './list.js'; import type { MapZodParser } from './map.js'; import type { NullZodParser } from './null.js'; import type { NumberZodParser } from './number.js'; import type { RecordZodParser } from './record.js'; import type { SetZodParser } from './set.js'; import type { StringZodParser } from './string.js'; import type { ZodParserOptions } from './types.js'; export type ZodParser = SCHEMA extends ItemSchema ? ItemZodParser : SCHEMA extends Schema ? SchemaZodParser : never; export type SchemaZodParser = Schema extends SCHEMA ? z.ZodTypeAny : (SCHEMA extends AnySchema ? AnyZodParser : never) | (SCHEMA extends NullSchema ? NullZodParser : never) | (SCHEMA extends BooleanSchema ? BooleanZodParser : never) | (SCHEMA extends NumberSchema ? NumberZodParser : never) | (SCHEMA extends StringSchema ? StringZodParser : never) | (SCHEMA extends BinarySchema ? BinaryZodParser : never) | (SCHEMA extends SetSchema ? SetZodParser : never) | (SCHEMA extends ListSchema ? ListZodParser : never) | (SCHEMA extends MapSchema ? MapZodParser : never) | (SCHEMA extends RecordSchema ? RecordZodParser : never) | (SCHEMA extends AnyOfSchema ? AnyOfZodParser : never); export declare const schemaZodParser: (schema: SCHEMA, options?: OPTIONS) => SchemaZodParser;