export declare type HashMap = Record; declare type UnionToIntersection = (U extends any ? (k: U) => any : never) extends ((k: infer I) => any) ? I : never; export declare type PickAndFlatten = UnionToIntersection; export declare type Position = { x: number; y: number; }; export declare type Size = { width: number; height: number; }; export declare type ItemType> = T extends Array ? T[0] : T; export declare type JSONItem = { key: string; value: any; path: string[]; } | { key: string; properties: JSONItem[]; path: string[]; }; export declare type Enumerable = T | T[]; export declare type Unpacked = T extends (infer U)[] ? U : T extends (...args: any[]) => infer U ? U : T extends Promise ? U : T; export declare type BoundingBox = { x: number; y: number; width: number; height: number; }; export declare type Sort = -1 | 1 | ((a: any, b: any) => number); export {};