export declare type Traversable = T | { [key: string]: Traversable; }; export declare type ValueArg = string | number | Symbol; export declare function memoize(memory: Traversable, func: (...args: ValueArg[]) => T): (...args: ValueArg[]) => T;