import type { MultiTokenInterface, Provider } from '@tinkoff/dippy'; import type { AsyncTapableHookInstance, CommandLineDescription, CommandLineRunnerPlugin, CommandLines } from '@tramvai/core'; import type { COMMAND_LINES_TOKEN, Command, DI_TOKEN, ExtractDependencyType, CommandLineRunner as Interface, TAPABLE_HOOK_FACTORY_TOKEN } from '@tramvai/core'; import { type EXECUTION_CONTEXT_MANAGER_TOKEN, type ExecutionContext, type LOGGER_TOKEN } from '@tramvai/tokens-common'; import { type COMMAND_LINE_EXECUTION_END_TOKEN } from '@tramvai/tokens-core-private'; type Container = ExtractDependencyType; type Lines = ExtractDependencyType; export type CommandEnvironment = 'server' | 'client'; export type CommandLine = 'init' | 'customer' | 'spa' | 'afterSpa' | 'close'; type LoggerFactory = ExtractDependencyType; type HookFactory = ExtractDependencyType; type ExecutionContextManager = ExtractDependencyType; type ExecutionEndHandlers = ExtractDependencyType | null; export declare class CommandLineRunner implements Interface { private rootDi; private log; private hookFactory; private plugins; private executionContextManager; private executionEndHandlers; private executionContextByDi; private abortControllerByDi; lines: Lines; runLineHook: AsyncTapableHookInstance<{ env: keyof CommandLines; line: keyof CommandLineDescription; di: Container; key?: string | number; }>; runCommandHook: AsyncTapableHookInstance<{ env: keyof CommandLines; line: keyof CommandLineDescription; di: Container; command: MultiTokenInterface; }>; runCommandFnHook: AsyncTapableHookInstance<{ fn: Command; line: keyof CommandLineDescription; command: MultiTokenInterface; di: Container; }>; constructor({ rootDi, lines, logger, plugins, hookFactory, executionContextManager, executionEndHandlers, }: { rootDi: Container; lines: Lines; logger: LoggerFactory; plugins: CommandLineRunnerPlugin[] | null; hookFactory: HookFactory; executionContextManager: ExecutionContextManager; executionEndHandlers: ExecutionEndHandlers; }); run(env: CommandEnvironment, line: 'init' | 'customer' | 'spa' | 'afterSpa' | 'close', providers?: Provider[], customDi?: Container, key?: string | number): Promise; resolveDi(env: CommandEnvironment, line: CommandLine, rootDi: Container, providers?: Provider[]): Container; resolveExecutionContextFromDi(di: Container): ExecutionContext | null; private executeCommand; } export {}; //# sourceMappingURL=commandLineRunner.new.d.ts.map