import { Logger } from "./logger";
export interface Task {
    result: Promise<void>;
    kill(): void;
}
export interface TaskConfig {
    name: string;
    logger: Logger;
    handleOutput?(line: string): boolean;
    handleError?(line: string): boolean;
}
/**
 * Used for differences between windows and linux and it can also be mocked for unit tests
 */
export interface TaskRunner {
    runTask(command: string, args: string[], config: TaskConfig): Task;
}
export declare function createDefaultTaskRunner(): TaskRunner;
export declare let createWindowsTaskRunner: () => TaskRunner;
