import type { Morph } from "@ark/schema"; import type { ErrorType, merge } from "@ark/util"; import type { distill, inferIntersection, inferMorph, inferMorphOut, inferNaryIntersection, inferNaryMerge, inferNaryPipe } from "./attributes.ts"; import type { type } from "./keywords/keywords.ts"; import type { instantiateType } from "./methods/instantiate.ts"; import type { NonObjectMergeErrorMessage } from "./methods/object.ts"; import type { Type } from "./type.ts"; export type NaryUnionParser<$> = { (): Type; , $>>(a: type.validate): r extends infer _ ? _ : never; | type.infer, $>>(a: type.validate, b: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate, p: type.validate): r extends infer _ ? _ : never; | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer | type.infer, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate, p: type.validate, q: type.validate): r extends infer _ ? _ : never; , $>>(...defs: { [i in keyof defs]: type.validate; }): r extends infer _ ? _ : never; }; export type NaryIntersectionParser<$> = { (): Type; , $>>(a: type.validate): r extends infer _ ? _ : never; , type.infer>, $>>(a: type.validate, b: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate, p: type.validate): r extends infer _ ? _ : never; , type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer, type.infer ]>, $>>(a: type.validate, b: type.validate, c: type.validate, d: type.validate, e: type.validate, f: type.validate, g: type.validate, h: type.validate, i: type.validate, j: type.validate, k: type.validate, l: type.validate, m: type.validate, n: type.validate, o: type.validate, p: type.validate, q: type.validate): r extends infer _ ? _ : never; ; }>, $>>(...defs: { [i in keyof defs]: type.validate; }): r extends infer _ ? _ : never; }; export type NaryMergeParser<$> = { (): Type; , r = Type>(a: type.validate & (inferredA extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType<"Merged type must be an object", [actual: inferredB]>)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, inferredM = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType), m: type.validate & (inferredM extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, inferredM = type.infer, inferredN = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType), m: type.validate & (inferredM extends object ? unknown : ErrorType), n: type.validate & (inferredN extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, inferredM = type.infer, inferredN = type.infer, inferredO = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType), m: type.validate & (inferredM extends object ? unknown : ErrorType), n: type.validate & (inferredN extends object ? unknown : ErrorType), o: type.validate & (inferredO extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, inferredM = type.infer, inferredN = type.infer, inferredO = type.infer, inferredP = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType), m: type.validate & (inferredM extends object ? unknown : ErrorType), n: type.validate & (inferredN extends object ? unknown : ErrorType), o: type.validate & (inferredO extends object ? unknown : ErrorType), p: type.validate & (inferredP extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; , inferredB = type.infer, inferredC = type.infer, inferredD = type.infer, inferredE = type.infer, inferredF = type.infer, inferredG = type.infer, inferredH = type.infer, inferredI = type.infer, inferredJ = type.infer, inferredK = type.infer, inferredL = type.infer, inferredM = type.infer, inferredN = type.infer, inferredO = type.infer, inferredP = type.infer, inferredQ = type.infer, r = Type, $>>(a: type.validate & (inferredA extends object ? unknown : ErrorType), b: type.validate & (inferredB extends object ? unknown : ErrorType), c: type.validate & (inferredC extends object ? unknown : ErrorType), d: type.validate & (inferredD extends object ? unknown : ErrorType), e: type.validate & (inferredE extends object ? unknown : ErrorType), f: type.validate & (inferredF extends object ? unknown : ErrorType), g: type.validate & (inferredG extends object ? unknown : ErrorType), h: type.validate & (inferredH extends object ? unknown : ErrorType), i: type.validate & (inferredI extends object ? unknown : ErrorType), j: type.validate & (inferredJ extends object ? unknown : ErrorType), k: type.validate & (inferredK extends object ? unknown : ErrorType), l: type.validate & (inferredL extends object ? unknown : ErrorType), m: type.validate & (inferredM extends object ? unknown : ErrorType), n: type.validate & (inferredN extends object ? unknown : ErrorType), o: type.validate & (inferredO extends object ? unknown : ErrorType), p: type.validate & (inferredP extends object ? unknown : ErrorType), q: type.validate & (inferredQ extends object ? unknown : ErrorType)): r extends infer _ ? _ : never; ; }>, $>>(...defs: { [i in keyof defs]: type.validate & (type.infer extends object ? unknown : ErrorType ]>); }): r extends infer _ ? _ : never; }; export type NaryPipeParser<$, initial = unknown> = { (): Type; >, r = instantiateType, $>>(a: a): r extends infer _ ? _ : never; >, b extends Morph>, r = instantiateType, a, b]>, $>>(a: a, b: b): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, r = instantiateType, a, b, c]>, $>>(a: a, b: b, c: c): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, r = instantiateType, a, b, c, d]>, $>>(a: a, b: b, c: c, d: d): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, r = instantiateType, a, b, c, d, e]>, $>>(a: a, b: b, c: c, d: d, e: e): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, r = instantiateType, a, b, c, d, e, f]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, r = instantiateType, a, b, c, d, e, f, g]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, m extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l, m]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l, m: m): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, m extends Morph>, n extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l, m, n]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l, m: m, n: n): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, m extends Morph>, n extends Morph>, o extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o ]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l, m: m, n: n, o: o): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, m extends Morph>, n extends Morph>, o extends Morph>, p extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p ]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l, m: m, n: n, o: o, p: p): r extends infer _ ? _ : never; >, b extends Morph>, c extends Morph>, d extends Morph>, e extends Morph>, f extends Morph>, g extends Morph>, h extends Morph>, i extends Morph>, j extends Morph>, k extends Morph>, l extends Morph>, m extends Morph>, n extends Morph>, o extends Morph>, p extends Morph>, q extends Morph>, r = instantiateType, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q ]>, $>>(a: a, b: b, c: c, d: d, e: e, f: f, g: g, h: h, i: i, j: j, k: k, l: l, m: m, n: n, o: o, p: p, q: q): r extends infer _ ? _ : never; , $>>(...defs: morphs): r extends infer _ ? _ : never; };