import { Application } from './Application'; import { ConsoleController } from '../routers/ConsoleController'; import { ConsoleContext } from './ConsoleContext'; import { PluginHelp } from '../plugins/PluginHelp'; interface Options { commandsPath?: string | string[]; locale?: string; } export declare class ConsoleApplication extends Application { protected pluginHelp: PluginHelp; protected isChildProcess: boolean; constructor(options?: Options); /** * * Input command name and options to run specific command. It's useful for testing or explicit purpose * * Usage: * * `app.run()` * * `app.run('a:b:c')` * * `app.run('a:b', '--color', '--bail')` * * `app.run('a:b', '--name', 'Peter', '--age', '15')` */ run(...commands: string[]): Promise; on(event: 'error', listener: (err: Error, ctx: ConsoleContext) => void): this; on(event: string | symbol, listener: (...args: any[]) => void): this; once(event: 'error', listener: (err: Error, ctx: ConsoleContext) => void): this; once(event: string | symbol, listener: (...args: any[]) => void): this; /** * Useful for testing scenario. */ appendCommands(routes: ConsoleController | ConsoleController[]): this; onerror(err: Error): void; protected getControllerInstance(): new (...args: any[]) => ConsoleController; protected getHelpPlugin(): PluginHelp; protected parseControllers(modules: Record): void; protected inspect(): { commandsPath: string[]; locale: string; }; protected toJSON(): { commandsPath: string[]; locale: string; }; } export {};