import { ChildProcess } from 'child_process';
import { RpcProcessorInterface, RpcHandler, MessageCallback } from './process-communication/rpc-processor-interface';
export type RpcMessage = {
    type: 'rpc_request';
    id: string | undefined;
    method: string;
    args: unknown;
};
export declare class RpcStdinProcessor implements RpcProcessorInterface {
    private child;
    private handlers;
    private messageCallback?;
    private isClosed;
    private rl?;
    constructor(child: ChildProcess);
    handler<TInput, TOutput = unknown>(method: string, handler: RpcHandler<TInput, TOutput>): void;
    onMessage<T = unknown>(callback: MessageCallback<T>): void;
    handle(method: string, input: unknown): Promise<any>;
    private response;
    init(): Promise<void>;
    close(): void;
}
