export interface Handle { destroy(): void; } export declare function createHandle(destructor: () => void): Handle; export declare function createCompositeHandle(...handles: Handle[]): Handle; export declare function deepMixin(target: T, source: U): T & U; export declare function deepMixin(target: T, source1: U, source2: V): T & U & V; export declare function duplicate(source: T): T; export declare function partial(targetFunction: (...args: any[]) => any, ...suppliedArgs: any[]): (...args: any[]) => any;