import { RuntypeBase, Static } from './runtype'; import { Case, Matcher } from './types/union'; export declare function match, ...PairCase[]]>(...cases: A): Matcher<{ [key in keyof A]: A[key] extends PairCase ? RT : unknown; }, { [key in keyof A]: A[key] extends PairCase ? Z : unknown; }[number]>; export declare type PairCase = [A, Case]; export declare function when, B>(runtype: A, transformer: (value: Static) => B): PairCase;