import { ValidationFailure } from '../error'; import { GetCastType, GetSrcType, Validator } from '../interface'; import { AddOptionToUndefined, Simplify } from '../util'; export type GetKeyTaggedUnionCast = Simplify<{ [C in keyof U]: Simplify : undefined; }>>; }[keyof U]>; export type GetKeyTaggedUnionSrc = Simplify<{ [C in keyof U]: AddOptionToUndefined<{ [K in keyof U]: K extends C ? GetSrcType : undefined; }>; }[keyof U]>; export declare class KeyTaggedUnionValidator>> implements Validator, GetKeyTaggedUnionSrc> { readonly union: U; private onlyOneOfMessage?; private noPropsMessage?; constructor(union: U); cast(value: any): ValidationFailure | GetKeyTaggedUnionCast; validate(value: any): ValidationFailure | undefined; phantom(): GetKeyTaggedUnionSrc; private getTag; private getOnlyOneOfMessage; private getNoPropsMessage; } //# sourceMappingURL=key-tagged-union.d.ts.map