UNPKG

577 BTypeScriptView Raw
1import { RuntypeBase, Static } from './runtype';
2import { Case, Matcher } from './types/union';
3export 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]>;
8export declare type PairCase<A extends RuntypeBase, Z> = [A, Case<A, Z>];
9export declare function when<A extends RuntypeBase<any>, B>(runtype: A, transformer: (value: Static<A>) => B): PairCase<A, B>;