import { z, objectUtil } from 'zod'; import { type ParsersEngineDataBoxType, type PickParsersEngineDataBoxSchema } from '../../parsersEngine/definitions/parsersEngineDataBox.js'; import type { ParserFunction } from '../../parsersEngine/definitions/ParserFunction.js'; import { type CommonBuiltInParserOptionsSchema, type OptionalCommonBuiltInParserOptionsSchema } from './commonBuiltInParserOptions.js'; import { type ParserOutputConfigurationType, type PickParserOutputConfigurationSchema } from './parserOutputConfiguration.js'; import type { BuiltInParserFunction } from './BuiltInParserFunction.js'; export type BuiltInParserDefinitionSignature | undefined, HasOptionalOutput extends boolean, OutputTypes extends Array | undefined, InTypes extends Array, OutType extends ParsersEngineDataBoxType> = { name: Name; nameSchema: z.ZodLiteral; kind: Kind; hasOptionalOptions: HasOptionalOptions; optionsSchema: OptionsSchema extends undefined ? OptionalCommonBuiltInParserOptionsSchema : HasOptionalOptions extends true ? z.ZodOptional['shape'], CommonBuiltInParserOptionsSchema['shape']>, 'strict'>> : z.ZodObject['shape'], CommonBuiltInParserOptionsSchema['shape']>, 'strict'>; hasOptionalOutput: HasOptionalOutput; outputTypes: OutputTypes extends [] ? undefined : OutputTypes; outputSchema: OutputTypes extends undefined ? z.ZodOptional : OutputTypes extends [] ? z.ZodOptional : OutputTypes extends Array ? HasOptionalOutput extends true ? z.ZodOptional]>>> : z.ZodUnion]>> : never; inTypes: InTypes; inSchema: InTypes extends [] ? never : InTypes extends Array ? z.ZodUnion]>> : never; outType: OutType; outSchema: PickParsersEngineDataBoxSchema; parserConfigurationSchema: z.ZodObject<{ name: z.ZodLiteral; options: OptionsSchema extends undefined ? OptionalCommonBuiltInParserOptionsSchema : HasOptionalOptions extends true ? z.ZodOptional['shape'], CommonBuiltInParserOptionsSchema['shape']>, 'strict'>> : z.ZodObject['shape'], CommonBuiltInParserOptionsSchema['shape']>, 'strict'>; output: OutputTypes extends undefined ? z.ZodOptional : OutputTypes extends [] ? z.ZodOptional : OutputTypes extends Array ? HasOptionalOutput extends true ? z.ZodOptional]>>> : z.ZodUnion]>> : never; }, 'strict'>; }; export declare function createBuiltInParserDefinition | undefined, HasOptionalOutput extends boolean, OutputTypes extends [ParserOutputConfigurationType, ...Array] | undefined, InTypes extends Array, OutType extends ParsersEngineDataBoxType>(params: { name: Name; kind: Kind; hasOptionalOptions: HasOptionalOptions; optionsSchema: OptionsSchema; hasOptionalOutput: HasOptionalOutput; outputTypes: OutputTypes; inTypes: InTypes; outType: OutType; }): BuiltInParserDefinitionSignature; export type DeriveMakeParserFunctionFromDefinition> = (params: Def['hasOptionalOptions'] extends true ? Def['hasOptionalOutput'] extends true ? { options?: z.infer; output?: z.infer; } : { options?: z.infer; output: z.infer; } : Def['hasOptionalOutput'] extends true ? { options: z.infer; output?: z.infer; } : { options: z.infer; output: z.infer; }) => ParserFunction, z.infer>; export type DeriveBuiltInParserHandlerFromDefinition> = BuiltInParserFunction, z.infer, z.infer, z.infer>; export type DeriveParserOptionsFromDefinition> = z.infer; //# sourceMappingURL=createBuiltInParserDefinition.d.ts.map