import { type Fn, type PFn, type PromiseChange, type AutoPipeShuntReturn, type AutoPipeShunt, type AutoCollPipeShunt, type PipeShuntReturn, type PipeShunt, type CollPipeShunt, type PromisePipeShuntReturn, type PromiseCollPipeShunt, type PromisePipeShunt } from '../../mod.js'; interface AutoLazyPipe { /** ## lzpipe : 惰性运行的{@link pipe} @example ```ts //Synchronization function const res = pipe( 1,//1 (x: number) => x + 1,//2 (x: number) => x * 2,//4 (x: number) => x + 1,//5 ) assertEquals(res(), 5) //Asynchronous function const res2 = await pipe( 's', (x: string) => x + 'a', async (x: string) => x + 'b', )) assertEquals(res2(), 'sab') ``` */ (a: A): () => A; (a: A, b: PFn): () => AutoPipeShuntReturn; (a: A, b: PFn, c: PFn, C>): () => AutoPipeShuntReturn; (a: A, b: PFn, c: PFn, C>, d: PFn, D>): () => AutoPipeShuntReturn, D>; (a: A, b: PFn, c: PFn, C>, d: PFn, D>, e: PFn, E>): () => AutoPipeShuntReturn, D>, E>; (a: A, b: PFn, c: PFn, C>, d: PFn, D>, e: PFn, E>, f: PFn, F>): () => AutoPipeShuntReturn, D>, E>, F>; (a: A, b: PFn, c: PFn, C>, d: PFn, D>, e: PFn, E>, f: PFn, F>, g: PFn, G>): () => AutoPipeShuntReturn, D>, E>, F>, G>; (a: A, b: PFn, c: PFn, C>, d: PFn, D>, e: PFn, E>, f: PFn, F>, g: PFn, G>, h: PFn, H>): () => AutoPipeShuntReturn, D>, E>, F>, G>, H>; (a: A, b: PFn, c: PFn, C>, d: PFn, D>, e: PFn, E>, f: PFn, F>, g: PFn, G>, h: PFn, H>, i: PFn, I>): () => AutoPipeShuntReturn, D>, E>, F>, G>, H>, I>; (a: any, ...fns: Array>): () => any; } interface SyncLazyPipe { (a: A): () => A; (a: A, ab: Fn): () => PipeShuntReturn; (a: A, ab: Fn, bc: Fn, C>): () => PipeShuntReturn; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>): () => PipeShuntReturn, D>; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>, de: Fn, E>): () => PipeShuntReturn, D>, E>; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>, de: Fn, E>, ef: Fn, F>): () => PipeShuntReturn, D>, E>, F>; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>, de: Fn, E>, ef: Fn, F>, fg: Fn, G>): () => PipeShuntReturn, D>, E>, F>, G>; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>, de: Fn, E>, ef: Fn, F>, fg: Fn, G>, gh: Fn, H>): () => PipeShuntReturn, D>, E>, F>, G>, H>; (a: A, ab: Fn, bc: Fn, C>, cd: Fn, D>, de: Fn, E>, ef: Fn, F>, fg: Fn, G>, gh: Fn, H>, hi: Fn, I>): () => PipeShuntReturn, D>, E>, F>, G>, H>, I>; (a: any, ...fns: Array>): () => any; } interface AsyncLazyPipe { (a: A): () => PromiseChange; (a: A, ab: PFn): () => PromisePipeShuntReturn; (a: A, ab: PFn, bc: PFn, C>): () => PromisePipeShuntReturn; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>): () => PromisePipeShuntReturn, D>; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>, de: PFn, E>): () => PromisePipeShuntReturn, D>, E>; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>, de: PFn, E>, ef: PFn, F>): () => PromisePipeShuntReturn, D>, E>, F>; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>, de: PFn, E>, ef: PFn, F>, fg: PFn, G>): () => PromisePipeShuntReturn, D>, E>, F>, G>; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>, de: PFn, E>, ef: PFn, F>, fg: PFn, G>, gh: PFn, H>): () => PromisePipeShuntReturn, D>, E>, F>, G>, H>; (a: A, ab: PFn, bc: PFn, C>, cd: PFn, D>, de: PFn, E>, ef: PFn, F>, fg: PFn, G>, gh: PFn, H>, hi: PFn, I>): () => PromisePipeShuntReturn, D>, E>, F>, G>, H>, I>; (a: any, ...fns: Array>): () => PromiseChange; } interface LazyPipe extends AutoLazyPipe { readonly sync: SyncLazyPipe; readonly async: AsyncLazyPipe; } /** ## lzpipe : 惰性运行的{@link pipe} @example ```ts //Synchronization function const res = pipe( 1,//1 (x: number) => x + 1,//2 (x: number) => x * 2,//4 (x: number) => x + 1,//5 ) assertEquals(res(), 5) //Asynchronous function const res2 = await pipe( 's', (x: string) => x + 'a', async (x: string) => x + 'b', )) assertEquals(res2(), 'sab') ``` */ export declare const lzpipe: LazyPipe; export {}; //# sourceMappingURL=lazyPipe.d.ts.map