import { InferKind, PrettyType, Spec, SpecSuccess } from './types.js' import { error } from './error.js' export const merge: { /** * Creates a combined tuple & array validator spec. * * @param tuple Tuple spec * @param array Array spec */ , ArraySpec extends Spec<['array']>>( tuple: TupleSpec, array: ArraySpec ): Spec< ['tuple-array'], InferKind, SpecSuccess extends readonly unknown[] ? SpecSuccess extends readonly unknown[] ? readonly [...SpecSuccess, ...SpecSuccess] : never : never > /** * Creates a combined object & record validator spec. * * @param object Object spec * @param record Record spec */ , RecordSpec extends Spec<['record']>>( object: ObjectSpec, record: RecordSpec ): Spec< ['object-record'], InferKind, PrettyType & SpecSuccess> > } = error