export interface CompositeKeyWeakMapNode { value?: T; map: WeakMap; } export declare class CompositeKeyWeakMap { private root; set(keys: any[], value: T): void; get(keys: any[]): T; has(keys: any[]): boolean; } declare type TupleTypes = { [P in keyof T]: T[P]; } extends { [key: number]: infer V; } ? V : never; declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; interface Props { [key: string]: any; } export declare function mergeProps(...args: T): UnionToIntersection>; export {};