import { ResultBase, IParamsBase } from './util'; interface IMemoizedSync extends ResultBase { (arg1: T1): TResult; (arg1: T1, arg2: T2): TResult; (arg1: T1, arg2: T2, arg3: T3): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6): TResult; } interface IMemoizableFunctionSync { (): TResult; (arg1: T1): TResult; (arg1: T1, arg2: T2): TResult; (arg1: T1, arg2: T2, arg3: T3): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5): TResult; (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6): TResult; (...args: any[]): TResult; } export interface SyncParams extends IParamsBase { /** * The function that loads the resource when is not in the cache. */ load: IMemoizableFunctionSync; } export declare function syncMemoizer(options: SyncParams): IMemoizedSync; export {};