1 | import { RuntypeBase, Static } from './runtype';
|
2 | import { Case, Matcher } from './types/union';
|
3 | export declare function match<A extends [PairCase<any, any>, ...PairCase<any, any>[]]>(...cases: A): Matcher<{
|
4 | [key in keyof A]: A[key] extends PairCase<infer RT, any> ? RT : unknown;
|
5 | }, {
|
6 | [key in keyof A]: A[key] extends PairCase<any, infer Z> ? Z : unknown;
|
7 | }[number]>;
|
8 | export declare type PairCase<A extends RuntypeBase, Z> = [A, Case<A, Z>];
|
9 | export declare function when<A extends RuntypeBase<any>, B>(runtype: A, transformer: (value: Static<A>) => B): PairCase<A, B>;
|