import * as flatbuffers from 'flatbuffers';
import { Metric as Metric } from './Metric_generated.js';
/**
 * The Heartbeat message is used to ensure that sessions remain active and to
 * test the session status.
 * A Heartbeat message should be sent when no messages have been sent by that
 * side for HeartBtInt seconds. The Heartbeat message is a form of keep-alive.
 * The receiving side is not expected to respond to a Heartbeat message.
 * When an application has not received any data for HeartBtInt seconds
 * (plus some reasonable transmission time), it should send a Test Request
 * message. If there is still no response after HeartBtInt seconds (plus some
 * reasonable transmission time), then the application should consider the
 * considered lost and corrective action should be taken.
 */
export declare class Heartbeat {
    bb: flatbuffers.ByteBuffer | null;
    bb_pos: number;
    __init(i: number, bb: flatbuffers.ByteBuffer): Heartbeat;
    static getRootAsHeartbeat(bb: flatbuffers.ByteBuffer, obj?: Heartbeat): Heartbeat;
    static getSizePrefixedRootAsHeartbeat(bb: flatbuffers.ByteBuffer, obj?: Heartbeat): Heartbeat;
    /**
     * Required when the heartbeat is the result of a Test Request.
     */
    reqId(): string | null;
    reqId(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null;
    /**
     * Optional array of metrics for monitoring purposes.
     */
    metrics(index: number, obj?: Metric): Metric | null;
    metricsLength(): number;
    static startHeartbeat(builder: flatbuffers.Builder): void;
    static addReqId(builder: flatbuffers.Builder, reqIdOffset: flatbuffers.Offset): void;
    static addMetrics(builder: flatbuffers.Builder, metricsOffset: flatbuffers.Offset): void;
    static createMetricsVector(builder: flatbuffers.Builder, data: flatbuffers.Offset[]): flatbuffers.Offset;
    static startMetricsVector(builder: flatbuffers.Builder, numElems: number): void;
    static endHeartbeat(builder: flatbuffers.Builder): flatbuffers.Offset;
    static createHeartbeat(builder: flatbuffers.Builder, reqIdOffset: flatbuffers.Offset, metricsOffset: flatbuffers.Offset): flatbuffers.Offset;
}
