import { Task } from "./task.resolve";
import { CommandTrigger } from "./command.run";
import { ExternalFile } from "./file.utils";
export declare enum TaskErrorTypes {
    TaskNotFound,
    SubtasksNotInConfig,
    SubtaskNotProvided,
    SubtaskNotFound,
    SubtaskWildcardNotAvailable,
    AdaptorNotFound,
    FlagNotFound,
    CBFlagNotProvided,
    InvalidTaskInput,
    CircularReference,
    FileTypeNotSupported,
}
export declare function gatherTaskErrors(task: Task, trigger: CommandTrigger): TaskError[];
export interface TaskError {
    type: TaskErrorTypes;
}
export interface TaskNotFoundError extends TaskError {
    taskName: string;
    cwd: string;
}
export interface SubtasksNotInConfigError extends TaskError {
    name: string;
}
export interface SubtaskNotProvidedError extends TaskError {
    name: string;
}
export interface SubtaskWildcardNotAvailableError extends TaskError {
    name: string;
}
export interface SubtaskNotFoundError extends TaskError {
    name: string;
}
export interface AdaptorNotFoundError extends TaskError {
    taskName: string;
}
export interface InvalidTaskInputError extends TaskError {
    input: any;
}
export interface CBFlagNotFoundError extends TaskError {
    taskName: string;
}
export interface CBFlagNotProvidedError extends TaskError {
    taskName: string;
}
export interface CircularReferenceError extends TaskError {
    incoming: Task;
    parents: string[];
}
export interface FileTypeNotSupportedError extends TaskError {
    taskName: string;
    externalFile: ExternalFile;
}
