import { z } from 'zod'; export type IZodSchemaToApiTypes = { [T in keyof Z & string]: IZodCommandSchema; }; export type IZodCommandSchema = { command: T; args: z.infer; result: z.infer; }; export type IZodApiTypes = { args: z.Schema; result: z.Schema; }; export type IZodApiSpec = { [command: string]: IZodApiTypes; }; export type IZodHandlers = { [Api in keyof Spec]: (args: z.infer, context?: TContext) => Promise>; };