import type { QueryResultEntry } from '../types/message-types.js';
import type { Readable } from 'readable-stream';
declare type Status = {
    code: number;
    detail: string;
};
declare type MessageReplyOptions = {
    status: Status;
    entries?: QueryResultEntry[];
    data?: Readable;
};
export declare type BaseMessageReply = {
    status: Status;
};
export declare class MessageReply {
    status: Status;
    /**
     * Resulting message entries or events returned from the invocation of the corresponding message.
     * e.g. the resulting messages from a RecordsQuery
     * Mutually exclusive with `data`.
     */
    entries?: QueryResultEntry[];
    /**
     * Data corresponding to the message received if applicable (e.g. RecordsRead).
     * Mutually exclusive with `entries`.
     */
    data?: Readable;
    constructor(opts: MessageReplyOptions);
    static fromError(e: unknown, code: number): BaseMessageReply;
}
export {};
//# sourceMappingURL=message-reply.d.ts.map