import { Encoding } from './encoding';
import { Message } from './message';
import { Reader, Writer } from './transport';
import { Logger } from './logger';
export interface MessageIOConfig {
    encoding: Encoding;
    reader: Reader;
    writer: Writer;
    logger: Logger;
}
export declare class MessageIO {
    #private;
    constructor(config: MessageIOConfig);
    read(): Promise<Message>;
    write(message: Message): Promise<void>;
}
