type Caller = {
    context?: unknown;
};
type AnyFn = (...args: any[]) => any;
export declare function callWithContext<F extends AnyFn>(caller: Caller, fn: F, params: Parameters<F>): ReturnType<F>;
export declare class CallbackCache {
    private cache;
    call<F extends AnyFn>(caller: Caller, fn: F, ...params: Parameters<F>): ReturnType<F> | undefined;
    private invoke;
    invalidateCache(): void;
}
export {};
