import { CommandConfig, InvalidatorConfig } from './config';
import { ShadowdogEventEmitter } from './events';
import { Middleware } from './plugins';
interface Options {
    files: string[];
    invalidators: InvalidatorConfig;
    config: CommandConfig;
    eventEmitter: ShadowdogEventEmitter;
    changedFilePath?: string;
}
export declare class TaskRunner {
    private runnerOptions;
    middlewares: Array<{
        middleware: Middleware;
        options: unknown;
        changedFilePath?: string;
    }>;
    constructor(runnerOptions: Options);
    use(middleware: Middleware, options?: unknown): void;
    execute(): Promise<unknown>;
}
export {};
