import { CrossbowConfiguration } from "./config"; import { UserInput } from "./input.resolve"; import * as reports from "./reporter.resolve"; import { Reporters } from "./reporter.resolve"; export interface CLI { input: string[]; flags: any; trailing?: string; command?: string; } export interface CrossbowInput { tasks: any; watch: any; options: any; env?: any; config?: any; } export interface CrossbowReporter { (report: reports.IncomingReport): void; } export interface PreparedInputErrors { type: reports.ReportTypes; data?: any; } export interface PreparedInput { cli: CLI; config: CrossbowConfiguration; reporters?: Reporters; reportFn?: CrossbowReporter; userInput: UserInput; errors: PreparedInputErrors[]; } /** * This the the proxy that allows command/run mode to be handled * @param preparedInput */ export declare function handleIncoming(preparedInput: PreparedInput): ReturnType; /** * Handle any type of init. It could be from the CLI, or via the API. * eg, any command from the CLI ultimately ends up in the following call * $ crossbow run task1 -c conf/cb.js * -> handleIncoming({ * input: ['run', 'task1'], * flags: {c: 'conf/cb.js'} * }); */ export declare function getSetup(cli: CLI, input?: CrossbowInput): any; export default function (cli: CLI, input?: CrossbowInput): any;