declare type IPartialReturn = { (value: V): (object: O) => O & { [key in K]: V; }; (value: V, object: O): O & { [key in K]: V; }; }; declare type IAssoc = { (key: K): IPartialReturn; (key: K, value: V): (object: O) => O & { [key in K]: V; }; (key: K, value: V, object: O): O & { [key in K]: V; }; }; export declare const assoc: IAssoc; export {};