import type { MockInstance } from 'vitest';
import type { BaseConfig } from "../program";
import { expect } from 'vitest';
import { Run } from "../run";
export type RunSpy<C extends BaseConfig = BaseConfig> = Run<C> & {
    glob: MockInstance<Run['glob']>;
    copy: MockInstance<Run['copy']>;
    read: MockInstance<Run['read']>;
    write: MockInstance<Run['write']>;
};
export declare function setupRun<C = BaseConfig>(config: DeepPartial<C>): RunSpy<BaseConfig & C>;
type Anything = ReturnType<typeof expect.anything>;
type MockData = {
    glob?: Record<string, NormalizedPath[] | Error> | Anything;
    read?: Record<string, string | Error> | Anything;
    write?: Anything;
    remove?: Anything;
};
export declare function mockRun(run: RunSpy, data: MockData): void;
export {};
