type AnyFunction<A extends any[] = any[], B = any> = (...args: A) => B;
export type Memoized<Fn extends AnyFunction> = {
    (...args: Parameters<Fn>): ReturnType<Fn>;
    delegate: Fn;
};
export declare function isMemoized(fn: unknown): fn is Memoized<AnyFunction>;
export declare function memoize<Fn extends AnyFunction>(delegate: Fn): Memoized<Fn>;
export {};
//# sourceMappingURL=memoize.d.ts.map