import type { RunnerConfig } from "./common/types/index.js"; import { type EffectiveConfig } from "./core/index.js"; export interface ScriptExecutionResult { [key: string]: unknown; } export type ScriptEventHandler = { "script:beforeExecute": (scriptPath: string, params: Record) => void; "script:afterExecute": (scriptPath: string, result: ScriptExecutionResult) => void; "script:error": (scriptPath: string, error: unknown) => void; "script:log": (scriptPath: string, message: string) => void; "tui:beforeStart": () => void; "tui:afterEnd": () => void; }; export interface CreateScriptRunnerOptions extends Partial> { configFile?: string; initialEnv?: Record; workingDirectory?: string; consoleInterception?: { enabled?: boolean; includeLevel?: boolean; preserveOriginal?: boolean; useColors?: boolean; }; } export interface ScriptRunnerInstance { config: EffectiveConfig; environment: Record; executeScript: (scriptPath: string, executionParams?: Record, customLogger?: (message: string) => void) => Promise; runTUI: () => Promise; listScripts: () => Promise; on: (eventName: K, listener: ScriptEventHandler[K]) => ScriptRunnerInstance; off: (eventName: K, listener: ScriptEventHandler[K]) => ScriptRunnerInstance; emit: (eventName: K, ...args: Parameters) => boolean; } export declare function createScriptRunner(options?: CreateScriptRunnerOptions): Promise; export type { RunnerConfig, ScriptContext, ScriptModule, ColoredConsole, } from "./common/types/index.js"; //# sourceMappingURL=lib.d.ts.map