import type { ParameterSpec } from '../../ParameterSpec/index.js'; import type { RawArgInputs } from '../root/types.js'; import type { State } from '../State.js'; import type { z } from 'zod'; export interface ExclusiveParameterConfiguration { schema: ParameterSpec.SomeExclusiveZodType; } interface Parameter { (name: State.ValidateNameExpression, configuration: Configuration): BuilderExclusiveInitial, Label>; (name: State.ValidateNameExpression, schema: Schema): BuilderExclusiveInitial, Label>; } /** * This property is present to support internal functions. It is not intended to be used by you. */ export type InternalState = { /** * Used for build time. Type inference functionality. */ typeState: State; /** * Used for runtime. */ input: ParameterSpec.Input.Exclusive; }; export interface BuilderExclusiveInitial { _: InternalState; parameter: Parameter; optional: () => BuilderExclusiveAfterOptional>; default: (tag: Tag, value: z.infer) => BuilderExclusiveAfterDefault>; } export type BuilderExclusiveAfterOptional = { _: InternalState; }; export type BuilderExclusiveAfterDefault = { _: InternalState; }; export interface BuilderAfterSettings { parse: (inputs?: RawArgInputs) => State.ToArgs; } export interface SomeParameter { (nameExpression: any, type: ParameterSpec.SomeExclusiveZodType): any; (nameExpression: any, configuration: ExclusiveParameterConfiguration): any; } export type SomeBuilderExclusiveInitial = { _: any; parameter: SomeParameter; optional: any; default: (tag: any, value: any) => any; }; export type SomeBuilderMutuallyExclusiveAfterOptional = BuilderExclusiveAfterOptional; export type SomeBuilderExclusive = SomeBuilderExclusiveInitial | SomeBuilderMutuallyExclusiveAfterOptional; export {}; //# sourceMappingURL=types.d.ts.map