import { EventEmitter } from 'events'; import type { DockerContainer, DockerTestManagerOptions, ContainerOptions } from './types.js'; export declare class DockerTestManager extends EventEmitter { private static instance; private containers; private usedPorts; private networks; private cleanupInProgress; private dockerPath; private basePort; private maxRetries; private startupTimeout; private gracefulShutdownTimeout; private maxCleanupRetries; private cleanup; private verbose; private defaultNetwork?; private constructor(); static getInstance(options?: DockerTestManagerOptions): DockerTestManager; private findDockerPath; private getDockerFallbackPaths; private testDockerPath; private verifyDocker; private findAvailablePort; private isPortAvailable; private log; private logError; private getContainerStatus; private isContainerHealthy; createContainer(options: ContainerOptions): Promise; private cleanupContainerWithRetry; private ensureNetwork; private removeNetwork; private waitForContainer; private isPortListening; getContainer(id: string): Promise; cleanupContainer(id: string): Promise; cleanupAll(): Promise; private cleanupAllAsync; private cleanupSync; private cleanupSyncWindows; private cleanupSyncUnix; static withContainer(options: ContainerOptions, testFn: (container: DockerContainer) => Promise): Promise; }