import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { Timestamp } from '../../../../../google/protobuf/timestamp.js';
/**
 * OffsetCheckpoints may be used to:
 *
 * - detect time out of commands.
 * - provide an offset which can be used to restart consumption.
 *
 * @generated from protobuf message com.daml.ledger.api.v2.OffsetCheckpoint
 */
export interface OffsetCheckpoint {
    /**
     * The participant's offset, the details of the offset field are described in ``community/ledger-api/README.md``.
     * Required, must be a valid absolute offset (positive integer).
     *
     * @generated from protobuf field: int64 offset = 1
     */
    offset: bigint;
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.SynchronizerTime synchronizer_times = 2
     */
    synchronizerTimes: SynchronizerTime[];
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.SynchronizerTime
 */
export interface SynchronizerTime {
    /**
     * The id of the synchronizer.
     * Required
     *
     * @generated from protobuf field: string synchronizer_id = 1
     */
    synchronizerId: string;
    /**
     * All commands with a maximum record time below this value MUST be considered lost if their completion has not arrived before this checkpoint.
     * Required
     *
     * @generated from protobuf field: google.protobuf.Timestamp record_time = 2
     */
    recordTime?: Timestamp;
}
declare class OffsetCheckpoint$Type extends MessageType<OffsetCheckpoint> {
    constructor();
    create(value?: PartialMessage<OffsetCheckpoint>): OffsetCheckpoint;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OffsetCheckpoint): OffsetCheckpoint;
    internalBinaryWrite(message: OffsetCheckpoint, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.OffsetCheckpoint
 */
export declare const OffsetCheckpoint: OffsetCheckpoint$Type;
declare class SynchronizerTime$Type extends MessageType<SynchronizerTime> {
    constructor();
    create(value?: PartialMessage<SynchronizerTime>): SynchronizerTime;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SynchronizerTime): SynchronizerTime;
    internalBinaryWrite(message: SynchronizerTime, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SynchronizerTime
 */
export declare const SynchronizerTime: SynchronizerTime$Type;
export {};
//# sourceMappingURL=offset_checkpoint.d.ts.map