/** * Container Setup Module * * Provides factory functions to configure the DI container * for different use cases (testing, production). */ import { Container } from './Container'; import { VariableManager } from '../core/VariableManager'; import { ScriptEngine } from '../core/ScriptEngine'; import { RequestExecutor } from '../core/RequestExecutor'; import { AssertionEngine } from '../core/AssertionEngine'; import { ResponseProcessor } from '../core/ResponseProcessor'; import { TestResultCollector } from '../core/TestResultCollector'; /** * Options for container setup */ export interface ContainerSetupOptions { /** Base directory for file resolution */ baseDir: string; /** Whether to use singletons (default: true) */ useSingletons?: boolean; } /** * Extended container keys for internal components */ export declare const InternalKeys: { readonly ResponseProcessor: "ResponseProcessor"; readonly TestResultCollector: "TestResultCollector"; }; /** * Setup the container with all core dependencies * @param options Configuration options * @param targetContainer Container to setup (defaults to global container) */ export declare function setupContainer(options: ContainerSetupOptions, targetContainer?: Container): void; /** * Create a pre-configured container for testing * @param baseDir Base directory for file resolution * @returns Configured container instance */ export declare function createTestContainer(baseDir: string): Container; /** * Resolve dependencies from container for TestManager construction * @param targetContainer Container to resolve from */ export declare function resolveTestManagerDependencies(targetContainer?: Container): { variableManager: VariableManager; scriptEngine: ScriptEngine; requestExecutor: RequestExecutor; assertionEngine: AssertionEngine; responseProcessor: ResponseProcessor; resultCollector: TestResultCollector; };