/**
 * Client-side utility for interacting with the REPL functionality
 */
interface ApiClient {
    executeCommand: (command: string, params?: any) => Promise<any>;
}
interface ExecuteOptions {
    timeout?: number;
    stopOnError?: boolean;
}
export declare class REPLClient {
    private apiClient;
    private sessions;
    constructor(apiClient: ApiClient);
    /**
     * Create a new REPL session for a specific language
     * @param language - Language for the REPL (python, node, bash)
     * @param options - Optional configuration
     * @returns Session information
     */
    createSession(language: string, options?: Record<string, any>): Promise<any>;
    /**
     * Execute code in an existing REPL session
     * @param pid - Process ID of the session
     * @param code - Code to execute
     * @param options - Optional execution options
     * @returns Execution results
     */
    executeCode(pid: number, code: string, options?: ExecuteOptions): Promise<any>;
    /**
     * List all active REPL sessions
     * @returns List of active sessions
     */
    listSessions(): Promise<any>;
    /**
     * Close a specific REPL session
     * @param pid - Process ID to close
     * @returns Result indicating success
     */
    closeSession(pid: number): Promise<any>;
    /**
     * Close all idle REPL sessions
     * @param maxIdleMs - Maximum idle time in milliseconds
     * @returns Result with number of closed sessions
     */
    closeIdleSessions(maxIdleMs?: number): Promise<any>;
    /**
     * Execute a multi-line code block in the appropriate REPL session
     * @param codeBlock - Code block with language marker
     * @param options - Optional execution options
     * @returns Execution results
     */
    executeCodeBlock(codeBlock: string, options?: ExecuteOptions): Promise<any>;
    /**
     * Run a simple one-liner code snippet
     * @param language - The programming language
     * @param code - Code to execute (single line)
     * @param options - Optional execution options
     * @returns Execution results
     */
    runSnippet(language: string, code: string, options?: ExecuteOptions): Promise<any>;
}
export {};
