/// import { EventEmitter } from 'node:events'; /** * BinaryManager handles communication with the native capture binary * Manages the child process lifecycle, health checks, and auto-restart */ export declare class BinaryManager extends EventEmitter { private process; private pendingCommands; private isDev; private restartOnError; private remainingRestarts; private errorBuffer; private unexpectedShutdown; private healthCheckInterval; private lastHealthCheck; private installer; private initConfig; constructor(options?: { dev?: boolean; restartOnError?: boolean; }); /** * Get the binary path and arguments */ private getBinaryCommand; /** * Append an error to the circular buffer */ private appendError; /** * Flush all pending commands with an error */ private flushPendingCommands; /** * Handle a message from the binary */ private handleMessage; /** * Start health checks */ private startHealthCheck; /** * Stop health checks */ private stopHealthCheck; /** * Start the binary process */ start(config?: Record): Promise; /** * Send a command to the binary */ sendCommand(command: string, params?: Record): Promise; /** * Gracefully stop the binary */ stop(): Promise; /** * Immediately kill the binary process */ kill(): void; /** * Check if the binary is running */ isRunning(): boolean; }