import { CrossbowConfiguration } from "./config";
import { CrossbowInput } from "./index";
import { ExternalFile } from "./file.utils";
export interface Reporter {
    errors: {}[];
    type: ReporterTypes;
    callable?: Function;
    sources: ExternalFile[];
}
export declare enum ReporterErrorTypes {
    ReporterFileNotFound,
    ReporterTypeNotSupported,
}
export interface ReporterError {
    type: ReporterErrorTypes;
    file?: ExternalFile;
}
export interface ReporterFileNotFoundError extends ReporterError {
}
export interface ReporterTypeNotSupportedError extends ReporterError {
}
export declare enum ReporterTypes {
    InlineFunction,
    ExternalFile,
    UnsupportedValue,
    Muted,
}
export interface Reporters {
    all: Reporter[];
    valid: Reporter[];
    invalid: Reporter[];
}
export declare enum ReportNames {
    DuplicateConfigFile,
    ConfigFileCreated,
    InitConfigTypeNotSupported,
    InputError,
    InputFileNotFound,
    InvalidReporter,
    UsingConfigFile,
    TaskList,
    TaskTree,
    TaskErrors,
    TaskReport,
    InvalidTasksSimple,
    NoTasksAvailable,
    NoTasksProvided,
    SimpleTaskList,
    BeforeWatchTaskErrors,
    BeforeTaskList,
    BeforeTasksDidNotComplete,
    WatchTaskTasksErrors,
    WatchTaskErrors,
    WatchTaskReport,
    NoFilesMatched,
    NoWatchersAvailable,
    NoWatchTasksProvided,
    Watchers,
    WatcherNames,
    WatcherTriggeredTasksCompleted,
    WatcherTriggeredTasks,
    DocsAddedToFile,
    DocsGenerated,
    DocsInputFileNotFound,
    DocsOutputFileExists,
    Summary,
    HashDirError,
}
export declare function getReporters(config: CrossbowConfiguration, input: CrossbowInput): Reporters;
export declare function getDefaultReporter(): any;
