klubok 0.3.3 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +802 -800
  2. package/dist/index.js +39 -28
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  type KeyedFunction<K extends string, F extends Function> = F & {
2
+ exitable: boolean;
2
3
  key: K;
3
4
  mutable: boolean;
4
5
  onError: boolean;
@@ -6,865 +7,866 @@ type KeyedFunction<K extends string, F extends Function> = F & {
6
7
  export declare const pure: <K extends string, C, R>(key: K, fn: (ctx: C) => R) => KeyedFunction<K, (ctx: C) => R>;
7
8
  export declare const eff: <K extends string, C, R>(key: K, fn: (ctx: C) => Promise<R>) => KeyedFunction<K, (ctx: C) => Promise<R>>;
8
9
  export declare const mut: <K extends string, C, R>(fn: KeyedFunction<K, (ctx: C) => R>) => KeyedFunction<K, (ctx: C) => R>;
10
+ export declare const exitIf: <K extends string, C, R>(fn: KeyedFunction<K, (ctx: C) => R>) => KeyedFunction<K, (ctx: C) => R>;
9
11
  export declare const onError: <K extends string, C, R>(key: K, fn: (ctx: C) => R) => KeyedFunction<K, (ctx: C) => R>;
10
12
  export declare function klubok<K1 extends string, C extends object, R1>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>): (ctx: C, mock?: {
11
13
  [k in K1]?: R1 | ((ctx: C) => R1 | Promise<R1>);
12
- }, only?: K1[]) => Promise<C & {
13
- [k in K1]: R1;
14
+ }, only?: K1[]) => Promise<{
15
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
14
16
  }>;
15
- export declare function klubok<K1 extends string, K2 extends string, C extends object, R1, R2>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
16
- [k in K1]: R1;
17
+ export declare function klubok<K1 extends string, K2 extends string, C extends object, R1, R2>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
18
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
17
19
  }) => Promise<R2> | R2>): (ctx: C, mock?: {
18
- [k in K1 | K2]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : R2 | ((ctx: C & {
19
- [k in K1]: R1;
20
+ [k in K1 | K2]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : R2 | ((ctx: {
21
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
20
22
  }) => R2 | Promise<R2>);
21
- }, only?: (K1 | K2)[]) => Promise<C & {
22
- [k in K1 | K2]: k extends K1 ? R1 : R2;
23
+ }, only?: (K1 | K2)[]) => Promise<{
24
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
23
25
  }>;
24
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, C extends object, R1, R2, R3>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
25
- [k in K1]: R1;
26
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
27
- [k in K1 | K2]: k extends K1 ? R1 : R2;
26
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, C extends object, R1, R2, R3>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
27
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
28
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
29
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
28
30
  }) => Promise<R3> | R3>): (ctx: C, mock?: {
29
- [k in K1 | K2 | K3]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
30
- [k in K1]: R1;
31
- }) => R2 | Promise<R2>) : R3 | ((ctx: C & {
32
- [k in K1 | K2]: k extends K1 ? R1 : R2;
31
+ [k in K1 | K2 | K3]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
32
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
33
+ }) => R2 | Promise<R2>) : R3 | ((ctx: {
34
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
33
35
  }) => R3 | Promise<R3>);
34
- }, only?: (K1 | K2 | K3)[]) => Promise<C & {
35
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
36
+ }, only?: (K1 | K2 | K3)[]) => Promise<{
37
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
36
38
  }>;
37
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, C extends object, R1, R2, R3, R4>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
38
- [k in K1]: R1;
39
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
40
- [k in K1 | K2]: k extends K1 ? R1 : R2;
41
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
42
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
39
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, C extends object, R1, R2, R3, R4>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
40
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
41
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
42
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
43
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
44
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
43
45
  }) => Promise<R4> | R4>): (ctx: C, mock?: {
44
- [k in K1 | K2 | K3 | K4]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
45
- [k in K1]: R1;
46
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
47
- [k in K1 | K2]: k extends K1 ? R1 : R2;
48
- }) => R3 | Promise<R3>) : R4 | ((ctx: C & {
49
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
46
+ [k in K1 | K2 | K3 | K4]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
47
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
48
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
49
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
50
+ }) => R3 | Promise<R3>) : R4 | ((ctx: {
51
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
50
52
  }) => R4 | Promise<R4>);
51
- }, only?: (K1 | K2 | K3 | K4)[]) => Promise<C & {
52
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
53
+ }, only?: (K1 | K2 | K3 | K4)[]) => Promise<{
54
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
53
55
  }>;
54
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, C extends object, R1, R2, R3, R4, R5>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
55
- [k in K1]: R1;
56
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
57
- [k in K1 | K2]: k extends K1 ? R1 : R2;
58
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
59
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
60
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
61
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
56
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, C extends object, R1, R2, R3, R4, R5>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
57
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
58
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
59
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
60
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
61
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
62
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
63
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
62
64
  }) => Promise<R5> | R5>): (ctx: C, mock?: {
63
- [k in K1 | K2 | K3 | K4 | K5]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
64
- [k in K1]: R1;
65
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
66
- [k in K1 | K2]: k extends K1 ? R1 : R2;
67
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
68
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
69
- }) => R4 | Promise<R4>) : R5 | ((ctx: C & {
70
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
65
+ [k in K1 | K2 | K3 | K4 | K5]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
66
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
67
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
68
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
69
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
70
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
71
+ }) => R4 | Promise<R4>) : R5 | ((ctx: {
72
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
71
73
  }) => R5 | Promise<R5>);
72
- }, only?: (K1 | K2 | K3 | K4 | K5)[]) => Promise<C & {
73
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
74
+ }, only?: (K1 | K2 | K3 | K4 | K5)[]) => Promise<{
75
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
74
76
  }>;
75
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, C extends object, R1, R2, R3, R4, R5, R6>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
76
- [k in K1]: R1;
77
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
78
- [k in K1 | K2]: k extends K1 ? R1 : R2;
79
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
80
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
81
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
82
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
83
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
84
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
77
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, C extends object, R1, R2, R3, R4, R5, R6>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
78
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
79
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
80
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
81
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
82
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
83
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
84
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
85
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
86
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
85
87
  }) => Promise<R6> | R6>): (ctx: C, mock?: {
86
- [k in K1 | K2 | K3 | K4 | K5 | K6]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
87
- [k in K1]: R1;
88
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
89
- [k in K1 | K2]: k extends K1 ? R1 : R2;
90
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
91
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
92
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
93
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
94
- }) => R5 | Promise<R5>) : R6 | ((ctx: C & {
95
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
88
+ [k in K1 | K2 | K3 | K4 | K5 | K6]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
89
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
90
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
91
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
92
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
93
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
94
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
95
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
96
+ }) => R5 | Promise<R5>) : R6 | ((ctx: {
97
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
96
98
  }) => R6 | Promise<R6>);
97
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6)[]) => Promise<C & {
98
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
99
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6)[]) => Promise<{
100
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
99
101
  }>;
100
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
101
- [k in K1]: R1;
102
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
103
- [k in K1 | K2]: k extends K1 ? R1 : R2;
104
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
105
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
106
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
107
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
108
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
109
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
110
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
111
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
102
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
103
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
104
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
105
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
106
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
107
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
108
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
109
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
110
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
111
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
112
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
113
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
112
114
  }) => Promise<R7> | R7>): (ctx: C, mock?: {
113
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
114
- [k in K1]: R1;
115
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
116
- [k in K1 | K2]: k extends K1 ? R1 : R2;
117
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
118
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
119
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
120
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
121
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
122
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
123
- }) => R6 | Promise<R6>) : R7 | ((ctx: C & {
124
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
115
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
116
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
117
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
118
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
119
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
120
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
121
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
122
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
123
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
124
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
125
+ }) => R6 | Promise<R6>) : R7 | ((ctx: {
126
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
125
127
  }) => R7 | Promise<R7>);
126
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7)[]) => Promise<C & {
127
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
128
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7)[]) => Promise<{
129
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
128
130
  }>;
129
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
130
- [k in K1]: R1;
131
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
132
- [k in K1 | K2]: k extends K1 ? R1 : R2;
133
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
134
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
135
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
136
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
137
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
138
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
139
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
140
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
141
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
142
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
131
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
132
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
133
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
134
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
135
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
136
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
137
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
138
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
139
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
140
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
141
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
142
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
143
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
144
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
143
145
  }) => Promise<R8> | R8>): (ctx: C, mock?: {
144
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
145
- [k in K1]: R1;
146
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
147
- [k in K1 | K2]: k extends K1 ? R1 : R2;
148
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
149
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
150
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
151
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
152
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
153
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
154
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
155
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
156
- }) => R7 | Promise<R7>) : R8 | ((ctx: C & {
157
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
146
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
147
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
148
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
149
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
150
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
151
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
152
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
153
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
154
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
155
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
156
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
157
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
158
+ }) => R7 | Promise<R7>) : R8 | ((ctx: {
159
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
158
160
  }) => R8 | Promise<R8>);
159
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8)[]) => Promise<C & {
160
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
161
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8)[]) => Promise<{
162
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
161
163
  }>;
162
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
163
- [k in K1]: R1;
164
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
165
- [k in K1 | K2]: k extends K1 ? R1 : R2;
166
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
167
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
168
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
169
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
170
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
171
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
172
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
173
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
174
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
175
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
176
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
177
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
164
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
165
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
166
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
167
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
168
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
169
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
170
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
171
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
172
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
173
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
174
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
175
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
176
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
177
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
178
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
179
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
178
180
  }) => Promise<R9> | R9>): (ctx: C, mock?: {
179
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
180
- [k in K1]: R1;
181
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
182
- [k in K1 | K2]: k extends K1 ? R1 : R2;
183
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
184
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
185
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
186
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
187
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
188
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
189
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
190
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
191
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
192
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
193
- }) => R8 | Promise<R8>) : R9 | ((ctx: C & {
194
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
181
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
182
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
183
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
184
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
185
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
186
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
187
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
188
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
189
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
190
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
191
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
192
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
193
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
194
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
195
+ }) => R8 | Promise<R8>) : R9 | ((ctx: {
196
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
195
197
  }) => R9 | Promise<R9>);
196
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9)[]) => Promise<C & {
197
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
198
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9)[]) => Promise<{
199
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
198
200
  }>;
199
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
200
- [k in K1]: R1;
201
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
202
- [k in K1 | K2]: k extends K1 ? R1 : R2;
203
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
204
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
205
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
206
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
207
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
208
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
209
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
210
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
211
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
212
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
213
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
214
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
215
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
216
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
201
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
202
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
203
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
204
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
205
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
206
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
207
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
208
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
209
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
210
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
211
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
212
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
213
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
214
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
215
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
216
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
217
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
218
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
217
219
  }) => Promise<R10> | R10>): (ctx: C, mock?: {
218
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
219
- [k in K1]: R1;
220
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
221
- [k in K1 | K2]: k extends K1 ? R1 : R2;
222
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
223
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
224
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
225
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
226
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
227
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
228
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
229
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
230
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
231
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
232
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
233
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
234
- }) => R9 | Promise<R9>) : R10 | ((ctx: C & {
235
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
220
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
221
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
222
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
223
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
224
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
225
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
226
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
227
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
228
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
229
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
230
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
231
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
232
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
233
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
234
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
235
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
236
+ }) => R9 | Promise<R9>) : R10 | ((ctx: {
237
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
236
238
  }) => R10 | Promise<R10>);
237
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10)[]) => Promise<C & {
238
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
239
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10)[]) => Promise<{
240
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
239
241
  }>;
240
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
241
- [k in K1]: R1;
242
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
243
- [k in K1 | K2]: k extends K1 ? R1 : R2;
244
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
245
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
246
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
247
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
248
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
249
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
250
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
251
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
252
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
253
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
254
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
255
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
256
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
257
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
258
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
259
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
242
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
243
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
244
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
245
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
246
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
247
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
248
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
249
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
250
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
251
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
252
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
253
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
254
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
255
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
256
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
257
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
258
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
259
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
260
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
261
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
260
262
  }) => Promise<R11> | R11>): (ctx: C, mock?: {
261
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
262
- [k in K1]: R1;
263
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
264
- [k in K1 | K2]: k extends K1 ? R1 : R2;
265
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
266
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
267
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
268
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
269
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
270
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
271
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
272
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
273
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
274
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
275
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
276
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
277
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
278
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
279
- }) => R10 | Promise<R10>) : R11 | ((ctx: C & {
280
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
263
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
264
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
265
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
266
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
267
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
268
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
269
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
270
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
271
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
272
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
273
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
274
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
275
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
276
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
277
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
278
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
279
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
280
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
281
+ }) => R10 | Promise<R10>) : R11 | ((ctx: {
282
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
281
283
  }) => R11 | Promise<R11>);
282
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11)[]) => Promise<C & {
283
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
284
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11)[]) => Promise<{
285
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
284
286
  }>;
285
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
286
- [k in K1]: R1;
287
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
288
- [k in K1 | K2]: k extends K1 ? R1 : R2;
289
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
290
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
291
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
292
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
293
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
294
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
295
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
296
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
297
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
298
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
299
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
300
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
301
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
302
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
303
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
304
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
305
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
306
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
287
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
288
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
289
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
290
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
291
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
292
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
293
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
294
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
295
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
296
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
297
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
298
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
299
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
300
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
301
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
302
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
303
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
304
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
305
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
306
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
307
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
308
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
307
309
  }) => Promise<R12> | R12>): (ctx: C, mock?: {
308
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
309
- [k in K1]: R1;
310
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
311
- [k in K1 | K2]: k extends K1 ? R1 : R2;
312
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
313
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
314
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
315
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
316
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
317
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
318
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
319
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
320
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
321
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
322
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
323
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
324
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
325
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
326
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
327
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
328
- }) => R11 | Promise<R11>) : R12 | ((ctx: C & {
329
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
310
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
311
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
312
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
313
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
314
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
315
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
316
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
317
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
318
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
319
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
320
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
321
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
322
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
323
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
324
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
325
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
326
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
327
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
328
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
329
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
330
+ }) => R11 | Promise<R11>) : R12 | ((ctx: {
331
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
330
332
  }) => R12 | Promise<R12>);
331
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12)[]) => Promise<C & {
332
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
333
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12)[]) => Promise<{
334
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
333
335
  }>;
334
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
335
- [k in K1]: R1;
336
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
337
- [k in K1 | K2]: k extends K1 ? R1 : R2;
338
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
339
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
340
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
341
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
342
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
343
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
344
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
345
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
346
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
347
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
348
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
349
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
350
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
351
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
352
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
353
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
354
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
355
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
356
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
357
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
336
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
337
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
338
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
339
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
340
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
341
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
342
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
343
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
344
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
345
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
346
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
347
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
348
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
349
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
350
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
351
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
352
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
353
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
354
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
355
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
356
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
357
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
358
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
359
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
358
360
  }) => Promise<R13> | R13>): (ctx: C, mock?: {
359
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
360
- [k in K1]: R1;
361
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
362
- [k in K1 | K2]: k extends K1 ? R1 : R2;
363
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
364
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
365
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
366
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
367
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
368
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
369
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
370
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
371
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
372
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
373
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
374
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
375
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
376
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
377
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
378
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
379
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
380
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
381
- }) => R12 | Promise<R12>) : R13 | ((ctx: C & {
382
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
361
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
362
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
363
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
364
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
365
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
366
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
367
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
368
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
369
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
370
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
371
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
372
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
373
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
374
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
375
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
376
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
377
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
378
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
379
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
380
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
381
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
382
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
383
+ }) => R12 | Promise<R12>) : R13 | ((ctx: {
384
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
383
385
  }) => R13 | Promise<R13>);
384
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13)[]) => Promise<C & {
385
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
386
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13)[]) => Promise<{
387
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
386
388
  }>;
387
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
388
- [k in K1]: R1;
389
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
390
- [k in K1 | K2]: k extends K1 ? R1 : R2;
391
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
392
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
393
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
394
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
395
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
396
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
397
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
398
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
399
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
400
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
401
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
402
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
403
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
404
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
405
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
406
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
407
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
408
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
409
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
410
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
411
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
412
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
389
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
390
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
391
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
392
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
393
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
394
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
395
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
396
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
397
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
398
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
399
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
400
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
401
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
402
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
403
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
404
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
405
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
406
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
407
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
408
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
409
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
410
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
411
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
412
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
413
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
414
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
413
415
  }) => Promise<R14> | R14>): (ctx: C, mock?: {
414
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
415
- [k in K1]: R1;
416
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
417
- [k in K1 | K2]: k extends K1 ? R1 : R2;
418
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
419
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
420
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
421
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
422
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
423
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
424
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
425
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
426
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
427
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
428
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
429
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
430
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
431
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
432
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
433
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
434
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
435
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
436
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
437
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
438
- }) => R13 | Promise<R13>) : R14 | ((ctx: C & {
439
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
416
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
417
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
418
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
419
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
420
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
421
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
422
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
423
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
424
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
425
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
426
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
427
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
428
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
429
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
430
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
431
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
432
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
433
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
434
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
435
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
436
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
437
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
438
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
439
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
440
+ }) => R13 | Promise<R13>) : R14 | ((ctx: {
441
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
440
442
  }) => R14 | Promise<R14>);
441
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14)[]) => Promise<C & {
442
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
443
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14)[]) => Promise<{
444
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
443
445
  }>;
444
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
445
- [k in K1]: R1;
446
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
447
- [k in K1 | K2]: k extends K1 ? R1 : R2;
448
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
449
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
450
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
451
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
452
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
453
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
454
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
455
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
456
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
457
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
458
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
459
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
460
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
461
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
462
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
463
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
464
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
465
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
466
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
467
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
468
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
469
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
470
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
471
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
446
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
447
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
448
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
449
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
450
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
451
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
452
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
453
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
454
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
455
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
456
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
457
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
458
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
459
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
460
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
461
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
462
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
463
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
464
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
465
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
466
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
467
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
468
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
469
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
470
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
471
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
472
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
473
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
472
474
  }) => Promise<R15> | R15>): (ctx: C, mock?: {
473
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
474
- [k in K1]: R1;
475
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
476
- [k in K1 | K2]: k extends K1 ? R1 : R2;
477
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
478
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
479
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
480
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
481
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
482
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
483
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
484
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
485
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
486
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
487
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
488
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
489
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
490
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
491
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
492
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
493
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
494
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
495
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
496
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
497
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
498
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
499
- }) => R14 | Promise<R14>) : R15 | ((ctx: C & {
500
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
475
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
476
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
477
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
478
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
479
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
480
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
481
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
482
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
483
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
484
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
485
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
486
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
487
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
488
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
489
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
490
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
491
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
492
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
493
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
494
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
495
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
496
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
497
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
498
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
499
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
500
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
501
+ }) => R14 | Promise<R14>) : R15 | ((ctx: {
502
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
501
503
  }) => R15 | Promise<R15>);
502
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15)[]) => Promise<C & {
503
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
504
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15)[]) => Promise<{
505
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
504
506
  }>;
505
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
506
- [k in K1]: R1;
507
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
508
- [k in K1 | K2]: k extends K1 ? R1 : R2;
509
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
510
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
511
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
512
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
513
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
514
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
515
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
516
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
517
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
518
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
519
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
520
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
521
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
522
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
523
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
524
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
525
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
526
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
527
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
528
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
529
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
530
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
531
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
532
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
533
- }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: C & {
534
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
507
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
508
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
509
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
510
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
511
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
512
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
513
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
514
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
515
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
516
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
517
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
518
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
519
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
520
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
521
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
522
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
523
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
524
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
525
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
526
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
527
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
528
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
529
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
530
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
531
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
532
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
533
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
534
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
535
+ }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: {
536
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
535
537
  }) => Promise<R16> | R16>): (ctx: C, mock?: {
536
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
537
- [k in K1]: R1;
538
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
539
- [k in K1 | K2]: k extends K1 ? R1 : R2;
540
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
541
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
542
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
543
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
544
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
545
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
546
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
547
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
548
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
549
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
550
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
551
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
552
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
553
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
554
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
555
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
556
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
557
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
558
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
559
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
560
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
561
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
562
- }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: C & {
563
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
564
- }) => R15 | Promise<R15>) : R16 | ((ctx: C & {
565
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
538
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
539
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
540
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
541
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
542
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
543
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
544
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
545
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
546
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
547
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
548
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
549
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
550
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
551
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
552
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
553
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
554
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
555
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
556
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
557
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
558
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
559
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
560
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
561
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
562
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
563
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
564
+ }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: {
565
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
566
+ }) => R15 | Promise<R15>) : R16 | ((ctx: {
567
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
566
568
  }) => R16 | Promise<R16>);
567
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16)[]) => Promise<C & {
568
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
569
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16)[]) => Promise<{
570
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
569
571
  }>;
570
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
571
- [k in K1]: R1;
572
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
573
- [k in K1 | K2]: k extends K1 ? R1 : R2;
574
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
575
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
576
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
577
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
578
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
579
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
580
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
581
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
582
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
583
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
584
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
585
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
586
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
587
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
588
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
589
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
590
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
591
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
592
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
593
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
594
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
595
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
596
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
597
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
598
- }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: C & {
599
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
600
- }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: C & {
601
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
572
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
573
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
574
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
575
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
576
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
577
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
578
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
579
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
580
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
581
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
582
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
583
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
584
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
585
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
586
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
587
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
588
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
589
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
590
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
591
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
592
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
593
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
594
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
595
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
596
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
597
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
598
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
599
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
600
+ }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: {
601
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
602
+ }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: {
603
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
602
604
  }) => Promise<R17> | R17>): (ctx: C, mock?: {
603
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
604
- [k in K1]: R1;
605
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
606
- [k in K1 | K2]: k extends K1 ? R1 : R2;
607
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
608
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
609
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
610
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
611
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
612
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
613
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
614
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
615
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
616
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
617
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
618
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
619
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
620
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
621
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
622
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
623
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
624
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
625
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
626
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
627
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
628
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
629
- }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: C & {
630
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
631
- }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: C & {
632
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
633
- }) => R16 | Promise<R16>) : R17 | ((ctx: C & {
634
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
605
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
606
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
607
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
608
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
609
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
610
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
611
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
612
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
613
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
614
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
615
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
616
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
617
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
618
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
619
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
620
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
621
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
622
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
623
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
624
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
625
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
626
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
627
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
628
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
629
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
630
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
631
+ }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: {
632
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
633
+ }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: {
634
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
635
+ }) => R16 | Promise<R16>) : R17 | ((ctx: {
636
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
635
637
  }) => R17 | Promise<R17>);
636
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17)[]) => Promise<C & {
637
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
638
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17)[]) => Promise<{
639
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
638
640
  }>;
639
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
640
- [k in K1]: R1;
641
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
642
- [k in K1 | K2]: k extends K1 ? R1 : R2;
643
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
644
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
645
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
646
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
647
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
648
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
649
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
650
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
651
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
652
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
653
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
654
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
655
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
656
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
657
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
658
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
659
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
660
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
661
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
662
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
663
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
664
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
665
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
666
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
667
- }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: C & {
668
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
669
- }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: C & {
670
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
671
- }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: C & {
672
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
641
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
642
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
643
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
644
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
645
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
646
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
647
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
648
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
649
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
650
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
651
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
652
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
653
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
654
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
655
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
656
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
657
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
658
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
659
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
660
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
661
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
662
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
663
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
664
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
665
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
666
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
667
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
668
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
669
+ }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: {
670
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
671
+ }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: {
672
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
673
+ }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: {
674
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
673
675
  }) => Promise<R18> | R18>): (ctx: C, mock?: {
674
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
675
- [k in K1]: R1;
676
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
677
- [k in K1 | K2]: k extends K1 ? R1 : R2;
678
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
679
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
680
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
681
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
682
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
683
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
684
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
685
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
686
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
687
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
688
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
689
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
690
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
691
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
692
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
693
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
694
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
695
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
696
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
697
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
698
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
699
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
700
- }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: C & {
701
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
702
- }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: C & {
703
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
704
- }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: C & {
705
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
706
- }) => R17 | Promise<R17>) : R18 | ((ctx: C & {
707
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
676
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
677
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
678
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
679
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
680
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
681
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
682
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
683
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
684
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
685
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
686
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
687
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
688
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
689
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
690
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
691
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
692
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
693
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
694
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
695
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
696
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
697
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
698
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
699
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
700
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
701
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
702
+ }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: {
703
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
704
+ }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: {
705
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
706
+ }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: {
707
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
708
+ }) => R17 | Promise<R17>) : R18 | ((ctx: {
709
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
708
710
  }) => R18 | Promise<R18>);
709
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18)[]) => Promise<C & {
710
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
711
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18)[]) => Promise<{
712
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
711
713
  }>;
712
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, K19 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
713
- [k in K1]: R1;
714
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
715
- [k in K1 | K2]: k extends K1 ? R1 : R2;
716
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
717
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
718
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
719
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
720
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
721
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
722
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
723
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
724
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
725
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
726
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
727
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
728
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
729
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
730
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
731
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
732
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
733
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
734
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
735
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
736
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
737
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
738
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
739
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
740
- }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: C & {
741
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
742
- }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: C & {
743
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
744
- }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: C & {
745
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
746
- }) => Promise<R18> | R18>, fn19: KeyedFunction<K19, (ctx: C & {
747
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
714
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, K19 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
715
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
716
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
717
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
718
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
719
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
720
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
721
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
722
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
723
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
724
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
725
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
726
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
727
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
728
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
729
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
730
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
731
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
732
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
733
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
734
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
735
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
736
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
737
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
738
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
739
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
740
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
741
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
742
+ }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: {
743
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
744
+ }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: {
745
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
746
+ }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: {
747
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
748
+ }) => Promise<R18> | R18>, fn19: KeyedFunction<K19, (ctx: {
749
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
748
750
  }) => Promise<R19> | R19>): (ctx: C, mock?: {
749
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
750
- [k in K1]: R1;
751
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
752
- [k in K1 | K2]: k extends K1 ? R1 : R2;
753
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
754
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
755
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
756
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
757
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
758
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
759
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
760
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
761
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
762
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
763
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
764
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
765
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
766
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
767
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
768
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
769
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
770
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
771
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
772
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
773
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
774
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
775
- }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: C & {
776
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
777
- }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: C & {
778
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
779
- }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: C & {
780
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
781
- }) => R17 | Promise<R17>) : k extends K18 ? R18 | ((ctx: C & {
782
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
783
- }) => R18 | Promise<R18>) : R19 | ((ctx: C & {
784
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
751
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
752
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
753
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
754
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
755
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
756
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
757
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
758
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
759
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
760
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
761
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
762
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
763
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
764
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
765
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
766
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
767
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
768
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
769
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
770
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
771
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
772
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
773
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
774
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
775
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
776
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
777
+ }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: {
778
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
779
+ }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: {
780
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
781
+ }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: {
782
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
783
+ }) => R17 | Promise<R17>) : k extends K18 ? R18 | ((ctx: {
784
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
785
+ }) => R18 | Promise<R18>) : R19 | ((ctx: {
786
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
785
787
  }) => R19 | Promise<R19>);
786
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19)[]) => Promise<C & {
787
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
788
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19)[]) => Promise<{
789
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
788
790
  }>;
789
- export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, K19 extends string, K20 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: C & {
790
- [k in K1]: R1;
791
- }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: C & {
792
- [k in K1 | K2]: k extends K1 ? R1 : R2;
793
- }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: C & {
794
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
795
- }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: C & {
796
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
797
- }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: C & {
798
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
799
- }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: C & {
800
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
801
- }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: C & {
802
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
803
- }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: C & {
804
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
805
- }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: C & {
806
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
807
- }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: C & {
808
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
809
- }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: C & {
810
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
811
- }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: C & {
812
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
813
- }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: C & {
814
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
815
- }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: C & {
816
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
817
- }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: C & {
818
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
819
- }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: C & {
820
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
821
- }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: C & {
822
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
823
- }) => Promise<R18> | R18>, fn19: KeyedFunction<K19, (ctx: C & {
824
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
825
- }) => Promise<R19> | R19>, fn20: KeyedFunction<K20, (ctx: C & {
826
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
791
+ export declare function klubok<K1 extends string, K2 extends string, K3 extends string, K4 extends string, K5 extends string, K6 extends string, K7 extends string, K8 extends string, K9 extends string, K10 extends string, K11 extends string, K12 extends string, K13 extends string, K14 extends string, K15 extends string, K16 extends string, K17 extends string, K18 extends string, K19 extends string, K20 extends string, C extends object, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(fn1: KeyedFunction<K1, (ctx: C) => Promise<R1> | R1>, fn2: KeyedFunction<K2, (ctx: {
792
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
793
+ }) => Promise<R2> | R2>, fn3: KeyedFunction<K3, (ctx: {
794
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
795
+ }) => Promise<R3> | R3>, fn4: KeyedFunction<K4, (ctx: {
796
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
797
+ }) => Promise<R4> | R4>, fn5: KeyedFunction<K5, (ctx: {
798
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
799
+ }) => Promise<R5> | R5>, fn6: KeyedFunction<K6, (ctx: {
800
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
801
+ }) => Promise<R6> | R6>, fn7: KeyedFunction<K7, (ctx: {
802
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
803
+ }) => Promise<R7> | R7>, fn8: KeyedFunction<K8, (ctx: {
804
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
805
+ }) => Promise<R8> | R8>, fn9: KeyedFunction<K9, (ctx: {
806
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
807
+ }) => Promise<R9> | R9>, fn10: KeyedFunction<K10, (ctx: {
808
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
809
+ }) => Promise<R10> | R10>, fn11: KeyedFunction<K11, (ctx: {
810
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
811
+ }) => Promise<R11> | R11>, fn12: KeyedFunction<K12, (ctx: {
812
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
813
+ }) => Promise<R12> | R12>, fn13: KeyedFunction<K13, (ctx: {
814
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
815
+ }) => Promise<R13> | R13>, fn14: KeyedFunction<K14, (ctx: {
816
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
817
+ }) => Promise<R14> | R14>, fn15: KeyedFunction<K15, (ctx: {
818
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
819
+ }) => Promise<R15> | R15>, fn16: KeyedFunction<K16, (ctx: {
820
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
821
+ }) => Promise<R16> | R16>, fn17: KeyedFunction<K17, (ctx: {
822
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
823
+ }) => Promise<R17> | R17>, fn18: KeyedFunction<K18, (ctx: {
824
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
825
+ }) => Promise<R18> | R18>, fn19: KeyedFunction<K19, (ctx: {
826
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
827
+ }) => Promise<R19> | R19>, fn20: KeyedFunction<K20, (ctx: {
828
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
827
829
  }) => Promise<R20> | R20>): (ctx: C, mock?: {
828
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: C & {
829
- [k in K1]: R1;
830
- }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: C & {
831
- [k in K1 | K2]: k extends K1 ? R1 : R2;
832
- }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: C & {
833
- [k in K1 | K2 | K3]: k extends K1 ? R1 : k extends K2 ? R2 : R3;
834
- }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: C & {
835
- [k in K1 | K2 | K3 | K4]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
836
- }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: C & {
837
- [k in K1 | K2 | K3 | K4 | K5]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
838
- }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: C & {
839
- [k in K1 | K2 | K3 | K4 | K5 | K6]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
840
- }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: C & {
841
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
842
- }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: C & {
843
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
844
- }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: C & {
845
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
846
- }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: C & {
847
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
848
- }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: C & {
849
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
850
- }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: C & {
851
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
852
- }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: C & {
853
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
854
- }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: C & {
855
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
856
- }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: C & {
857
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
858
- }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: C & {
859
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
860
- }) => R17 | Promise<R17>) : k extends K18 ? R18 | ((ctx: C & {
861
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
862
- }) => R18 | Promise<R18>) : k extends K19 ? R19 | ((ctx: C & {
863
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
864
- }) => R19 | Promise<R19>) : R20 | ((ctx: C & {
865
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
830
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20]?: k extends K1 ? R1 | ((ctx: C) => R1 | Promise<R1>) : k extends K2 ? R2 | ((ctx: {
831
+ [k in K1 | keyof C]: k extends keyof C ? C[k] : R1;
832
+ }) => R2 | Promise<R2>) : k extends K3 ? R3 | ((ctx: {
833
+ [k in K1 | K2 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : R2;
834
+ }) => R3 | Promise<R3>) : k extends K4 ? R4 | ((ctx: {
835
+ [k in K1 | K2 | K3 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : R3;
836
+ }) => R4 | Promise<R4>) : k extends K5 ? R5 | ((ctx: {
837
+ [k in K1 | K2 | K3 | K4 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : R4;
838
+ }) => R5 | Promise<R5>) : k extends K6 ? R6 | ((ctx: {
839
+ [k in K1 | K2 | K3 | K4 | K5 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : R5;
840
+ }) => R6 | Promise<R6>) : k extends K7 ? R7 | ((ctx: {
841
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : R6;
842
+ }) => R7 | Promise<R7>) : k extends K8 ? R8 | ((ctx: {
843
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : R7;
844
+ }) => R8 | Promise<R8>) : k extends K9 ? R9 | ((ctx: {
845
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : R8;
846
+ }) => R9 | Promise<R9>) : k extends K10 ? R10 | ((ctx: {
847
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : R9;
848
+ }) => R10 | Promise<R10>) : k extends K11 ? R11 | ((ctx: {
849
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : R10;
850
+ }) => R11 | Promise<R11>) : k extends K12 ? R12 | ((ctx: {
851
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : R11;
852
+ }) => R12 | Promise<R12>) : k extends K13 ? R13 | ((ctx: {
853
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : R12;
854
+ }) => R13 | Promise<R13>) : k extends K14 ? R14 | ((ctx: {
855
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : R13;
856
+ }) => R14 | Promise<R14>) : k extends K15 ? R15 | ((ctx: {
857
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : R14;
858
+ }) => R15 | Promise<R15>) : k extends K16 ? R16 | ((ctx: {
859
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : R15;
860
+ }) => R16 | Promise<R16>) : k extends K17 ? R17 | ((ctx: {
861
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : R16;
862
+ }) => R17 | Promise<R17>) : k extends K18 ? R18 | ((ctx: {
863
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : R17;
864
+ }) => R18 | Promise<R18>) : k extends K19 ? R19 | ((ctx: {
865
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : R18;
866
+ }) => R19 | Promise<R19>) : R20 | ((ctx: {
867
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : R19;
866
868
  }) => R20 | Promise<R20>);
867
- }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20)[]) => Promise<C & {
868
- [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20]: k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : k extends K19 ? R19 : R20;
869
+ }, only?: (K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20)[]) => Promise<{
870
+ [k in K1 | K2 | K3 | K4 | K5 | K6 | K7 | K8 | K9 | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K20 | keyof C]: k extends keyof C ? C[k] : k extends K1 ? R1 : k extends K2 ? R2 : k extends K3 ? R3 : k extends K4 ? R4 : k extends K5 ? R5 : k extends K6 ? R6 : k extends K7 ? R7 : k extends K8 ? R8 : k extends K9 ? R9 : k extends K10 ? R10 : k extends K11 ? R11 : k extends K12 ? R12 : k extends K13 ? R13 : k extends K14 ? R14 : k extends K15 ? R15 : k extends K16 ? R16 : k extends K17 ? R17 : k extends K18 ? R18 : k extends K19 ? R19 : R20;
869
871
  }>;
870
872
  export {};