import Task from './types/Task'; import PromiseResult from './types/PromiseResult'; import Accepts from './types/Accepts'; import Returns from './types/Returns'; import { PassThroughTask } from './PassThrough.types'; declare type PR = PromiseResult; declare type RET = Returns; declare type ACC = Accepts; declare type VC_UNBOX = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX2] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX2 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX3] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX3 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX4] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX4 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX5] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX5 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX6] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX6 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX7] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX7 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX8] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX8 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; tail: infer V; } ? [U, ...VC_UNBOX9] : T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; head: infer U; } ? [U] : [ ]; declare type VC_UNBOX9 = []; declare type _PAIR = T extends PassThroughTask ? V : (arg: PR>) => RET; declare type _VC = U extends [infer V, ...infer W] ? { brand: '5Z7RupztR4SHT30zgDbkfA'; head: _PAIR; tail: _VC; } : U extends [infer V] ? { brand: '5Z7RupztR4SHT30zgDbkfA'; head: _PAIR; } : { brand: '5Z7RupztR4SHT30zgDbkfA'; }; declare type VC = VC_UNBOX<_VC>; declare type UNBOX = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX2 : T; declare type UNBOX2 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX3 : T; declare type UNBOX3 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX4 : T; declare type UNBOX4 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX5 : T; declare type UNBOX5 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX6 : T; declare type UNBOX6 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX7 : T; declare type UNBOX7 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX8 : T; declare type UNBOX8 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX9 : T; declare type UNBOX9 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX10 : T; declare type UNBOX10 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX11 : T; declare type UNBOX11 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX12 : T; declare type UNBOX12 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX13 : T; declare type UNBOX13 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX14 : T; declare type UNBOX14 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX15 : T; declare type UNBOX15 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX16 : T; declare type UNBOX16 = T extends { brand: '5Z7RupztR4SHT30zgDbkfA'; box: infer U; } ? UNBOX17 : T; declare type UNBOX17 = unknown; declare type _LAST = U extends [...infer W, infer V] ? (V extends PassThroughTask ? { brand: '5Z7RupztR4SHT30zgDbkfA'; box: _LAST; } : V) : U extends [infer V] ? V : unknown; declare type LAST = UNBOX<_LAST>; declare type __FIRST = U extends [infer V, ...infer W] ? (V extends PassThroughTask ? { brand: '5Z7RupztR4SHT30zgDbkfA'; box: __FIRST; } : V) : U extends [infer V] ? V : unknown; declare type FIRST = UNBOX<__FIRST>; export declare type SeriesTask = Task; export declare type SeriesArgs = ACC>; export declare type SeriesResult = PR>>; export declare type SeriesChain = T extends [infer U, ...infer V] ? [U, ...VC] : T; export {};