/// <reference types="node" />
import { MessageType } from '../MessageType';
import { IDlcMessage } from './DlcMessage';
import { IOrderNegotiationFieldsV0JSON, IOrderNegotiationFieldsV1JSON, OrderNegotiationFields } from './OrderNegotiationFields';
/**
 * OrderAccept contains information about a node and indicates its
 * acceptance of the new order offer. This is the second step towards
 * order negotiation.
 */
export declare class OrderAccept implements IDlcMessage {
    static type: MessageType;
    /**
     * Creates an OrderAccept from JSON data
     * @param json JSON object representing an order accept
     */
    static fromJSON(json: any): OrderAccept;
    /**
     * Deserializes an order_accept message
     * @param buf
     */
    static deserialize(buf: Buffer): OrderAccept;
    /**
     * The type for order_accept message. order_accept = 62772
     */
    type: MessageType;
    tempOrderId: Buffer;
    negotiationFields?: OrderNegotiationFields;
    /**
     * Converts order_accept to JSON
     */
    toJSON(): IOrderAcceptJSON;
    /**
     * Serializes the order_accept message into a Buffer
     */
    serialize(): Buffer;
}
export interface IOrderAcceptJSON {
    type: number;
    tempOrderId: string;
    negotiationFields?: // Now optional
    IOrderNegotiationFieldsV0JSON | IOrderNegotiationFieldsV1JSON;
}
export declare class OrderAcceptContainer {
    private accepts;
    /**
     * Adds an OrderAccept to the container.
     * @param accept The OrderAccept to add.
     */
    addAccept(accept: OrderAccept): void;
    /**
     * Returns all OrderAccepts in the container.
     * @returns An array of OrderAccept instances.
     */
    getAccepts(): OrderAccept[];
    /**
     * Serializes all OrderAccepts in the container to a Buffer.
     * @returns A Buffer containing the serialized OrderAccepts.
     */
    serialize(): Buffer;
    /**
     * Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
     * @param buf The Buffer to deserialize.
     * @returns An OrderAcceptContainer instance.
     */
    static deserialize(buf: Buffer): OrderAcceptContainer;
}
