import { Call } from './call.js';

declare function spy<P extends Array<unknown>, R>(closure: (...p: P) => R): Spyer<P, R>;
declare class Spyer<P extends Array<unknown>, R> {
    readonly closure: (...p: P) => R;
    constructor(closure: (...p: P) => R);
    readonly calls: Call<P, R>[];
    call(...params: P): R;
}

export { Spyer, spy };
