type Key = string | number | symbol; export type Prettify = { [K in keyof T]: T[K]; } & {}; export type PartialDeep = T extends object ? { [P in keyof T]?: PartialDeep; } : T; export type LiteralUnion = T | (F & {}); export type KeyUnion = LiteralUnion>; export type DistributiveMerge = A extends any ? Prettify & B> : never; export type UnionToIntersection = (T extends any ? (input: T) => void : never) extends (input: infer Intersection) => void ? Intersection : never; /** * @hidden */ type __Pick = { [P in K]: O[P]; } & {}; /** * @hidden */ export type _Pick = __Pick; /** * Extract out of `O` the fields of key `K` * @param O to extract from * @param K to chose fields * @returns [[Object]] */ export type Pick = O extends unknown ? _Pick : never; export {};