import type { Observable } from 'rxjs';
import type { NxJsonConfiguration, ProjectGraph, Task } from '@nrwl/devkit';
export type { Task } from '@nrwl/devkit';
export declare enum AffectedEventType {
    TaskComplete = "[Task] Complete",
    TaskCacheRead = "[Task] CacheRead",
    TaskDependencyFailed = "[Task] DependencyFailed"
}
export interface AffectedEvent {
    task: Task;
    type: AffectedEventType;
    success: boolean;
}
export interface TaskCompleteEvent extends AffectedEvent {
    type: AffectedEventType.TaskComplete;
}
export declare type TasksRunner<T = unknown> = (tasks: Task[], options: T, context?: {
    target?: string;
    initiatingProject?: string | null;
    projectGraph: ProjectGraph;
    nxJson: NxJsonConfiguration;
    hideCachedOutput?: boolean;
}) => Observable<AffectedEvent>;
