import { Blueprint, Contract, PackageStructure, Path, PortablePath, Predicates, Project } from '@boost/common'; import { Debugger } from '@boost/debug'; import { Event } from '@boost/event'; import { Writable } from '@boost/log'; import { Registry } from '@boost/plugin'; import { Translator } from '@boost/translate'; import { Config } from './Config'; import { ConfigContext } from './contexts/ConfigContext'; import { Context } from './contexts/Context'; import { DriverContext } from './contexts/DriverContext'; import { ScaffoldContext } from './contexts/ScaffoldContext'; import { ScriptContext } from './contexts/ScriptContext'; import { Driver } from './Driver'; import { Script } from './Script'; import { Argv, ConfigFile } from './types'; export interface ToolOptions { argv: Argv; cwd?: PortablePath; projectName?: string; resourcePaths?: string[]; } export declare class Tool extends Contract { config: ConfigFile; context?: Context; errStream?: Writable; outStream?: Writable; package: PackageStructure; readonly argv: Argv; readonly configManager: Config; readonly cwd: Path; readonly debug: Debugger; readonly driverRegistry: Registry; readonly msg: Translator; readonly project: Project; readonly onResolveDependencies: Event<[ConfigContext<{}>, Driver<{}, import("./types").DriverOptions>[]], string>; readonly onRunCreateConfig: Event<[ConfigContext<{}>, string[]], string>; readonly onRunDriver: Event<[DriverContext, Driver<{}, import("./types").DriverOptions>], string>; readonly onRunScaffold: Event<[ScaffoldContext, string, string, (string | undefined)?], string>; readonly onRunScript: Event<[ScriptContext], string>; readonly scriptRegistry: Registry