import { z } from 'zod'; import { ValidatorAdapter } from '@tanstack/react-router'; export interface ZodTypeLike { _input: any; _output: any; parse: (input: any) => any; } export type InputOutputOption = 'input' | 'output'; export interface zodValidatorOptions { readonly schema: ZodTypeLike; readonly input?: InputOutputOption; readonly output?: InputOutputOption; } export type zodValidatorInput = TOptions extends zodValidatorOptions ? 'input' extends TOptions['input'] ? TOptions['schema']['_input'] : TOptions['schema']['_output'] : TOptions extends ZodTypeLike ? TOptions['_input'] : never; export type zodValidatorOutput = TOptions extends zodValidatorOptions ? 'output' extends TOptions['output'] ? TOptions['schema']['_output'] : TOptions['schema']['_input'] : TOptions extends ZodTypeLike ? TOptions['_output'] : never; export type zodValidatorAdapter = ValidatorAdapter, zodValidatorOutput>; export declare const zodValidator: (options: TOptions) => zodValidatorAdapter; export declare const fallback: (schema: TSchema, fallback: TSchema["_input"]) => z.ZodPipeline, z.ZodCatch>;