export declare type RequireOnlyOne = Pick> & { [K in Keys]-?: Required> & Partial, undefined>>; }[Keys]; export declare type KeysMatching = T[{ [K in keyof T]: T[K] extends V ? K : never; }[keyof T]]; export declare type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required>; }[Keys];