export interface SimplifiedJSDocTag { /** * Name of the tag * * @ref tag.tagName.escapedText.toString() */ name: string; /** * Value of the tag * * @ref tag.comment */ value?: string; } export declare type GetSchemaName = (identifier: string) => string; export declare type NameFilter = (name: string) => boolean; export declare type JSDocTagFilter = (tags: SimplifiedJSDocTag[]) => boolean; export declare type Config = { /** * Path of the input file (types source) */ input: string; /** * Path of the output file (generated zod schemas) */ output: string; /** * Skip the validation step (not recommended) */ skipValidation?: boolean; /** * Max iteration number to resolve the declaration order. */ maxRun?: number; /** * Filter on type/interface name. */ nameFilter?: NameFilter; /** * Filter on JSDocTag. */ jsDocTagFilter?: JSDocTagFilter; /** * Schema name generator. */ getSchemaName?: GetSchemaName; /** * Keep parameters comments. * @default false */ keepComments?: boolean; /** * Skip the creation of zod validators from JSDoc annotations * * @default false */ skipParseJSDoc?: boolean; }; export declare type Configs = Array; export declare type TsToZodConfig = Config | Configs;