/** * Helper type to ensure that an array of keys matches an interface. * * For example: * * ```ts * interface Foo { * arg1: string; * arg2: string; * } * * const FOO_KEYS = ["arg1", "arg2"] as const; * type _ = Expect>; * ``` */ export type KeysMatch = [ keyof T ] extends [Keys[number]] ? [Keys[number]] extends [keyof T] ? true : { error: "Extra keys not in interface"; extra: Exclude; } : { error: "Missing keys from interface"; missing: Exclude; }; //# sourceMappingURL=KeysMatch.d.ts.map