import * as flatbuffers from 'flatbuffers';
import { ExecutionReport as ExecutionReport } from './ExecutionReport_generated.js';
import { Heartbeat as Heartbeat } from './Heartbeat_generated.js';
import { MarketDataRequest as MarketDataRequest } from './MarketDataRequest_generated.js';
import { MarketDataRequestReject as MarketDataRequestReject } from './MarketDataRequestReject_generated.js';
import { MarketDataSnapshot as MarketDataSnapshot } from './MarketDataSnapshot_generated.js';
import { NewOrderSingle as NewOrderSingle } from './NewOrderSingle_generated.js';
import { OrderCancelReject as OrderCancelReject } from './OrderCancelReject_generated.js';
import { OrderCancelRequest as OrderCancelRequest } from './OrderCancelRequest_generated.js';
import { OrderReplaceRequest as OrderReplaceRequest } from './OrderReplaceRequest_generated.js';
import { Quote as Quote } from './Quote_generated.js';
import { QuoteCancel as QuoteCancel } from './QuoteCancel_generated.js';
import { QuoteRequest as QuoteRequest } from './QuoteRequest_generated.js';
import { QuoteRequestReject as QuoteRequestReject } from './QuoteRequestReject_generated.js';
import { Reject as Reject } from './Reject_generated.js';
import { TestRequest as TestRequest } from './TestRequest_generated.js';
export declare enum Body {
    NONE = 0,
    ExecutionReport = 1,
    Heartbeat = 2,
    MarketDataRequest = 3,
    MarketDataRequestReject = 4,
    MarketDataSnapshot = 5,
    NewOrderSingle = 6,
    OrderCancelReject = 7,
    OrderCancelRequest = 8,
    OrderReplaceRequest = 9,
    Reject = 10,
    TestRequest = 11,
    Quote = 12,
    QuoteCancel = 14,
    QuoteRequest = 15,
    QuoteRequestReject = 16
}
export declare function unionToBody(type: Body, accessor: (obj: ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest) => ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest | null): ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest | null;
export declare function unionListToBody(type: Body, accessor: (index: number, obj: ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest) => ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest | null, index: number): ExecutionReport | Heartbeat | MarketDataRequest | MarketDataRequestReject | MarketDataSnapshot | NewOrderSingle | OrderCancelReject | OrderCancelRequest | OrderReplaceRequest | Quote | QuoteCancel | QuoteRequest | QuoteRequestReject | Reject | TestRequest | null;
export declare class Message {
    bb: flatbuffers.ByteBuffer | null;
    bb_pos: number;
    __init(i: number, bb: flatbuffers.ByteBuffer): Message;
    static getRootAsMessage(bb: flatbuffers.ByteBuffer, obj?: Message): Message;
    static getSizePrefixedRootAsMessage(bb: flatbuffers.ByteBuffer, obj?: Message): Message;
    static bufferHasIdentifier(bb: flatbuffers.ByteBuffer): boolean;
    /**
     * Time of message transmission in UTC.
     */
    sendingTime(): bigint;
    bodyType(): Body;
    /**
     * Message body.
     */
    body<T extends flatbuffers.Table>(obj: any): any | null;
    static startMessage(builder: flatbuffers.Builder): void;
    static addSendingTime(builder: flatbuffers.Builder, sendingTime: bigint): void;
    static addBodyType(builder: flatbuffers.Builder, bodyType: Body): void;
    static addBody(builder: flatbuffers.Builder, bodyOffset: flatbuffers.Offset): void;
    static endMessage(builder: flatbuffers.Builder): flatbuffers.Offset;
    static finishMessageBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
    static finishSizePrefixedMessageBuffer(builder: flatbuffers.Builder, offset: flatbuffers.Offset): void;
    static createMessage(builder: flatbuffers.Builder, sendingTime: bigint, bodyType: Body, bodyOffset: flatbuffers.Offset): flatbuffers.Offset;
}
