import { MessageType } from "@protobuf-ts/runtime";
import { ValidatorCommitteeMember } from "./signature.js";
import { Timestamp } from "../../../google/protobuf/timestamp.js";
import { GasCostSummary } from "./gas_cost_summary.js";
import { Bcs } from "./bcs.js";
export interface CheckpointSummary {
    bcs?: Bcs;
    digest?: string;
    epoch?: bigint;
    sequenceNumber?: bigint;
    totalNetworkTransactions?: bigint;
    contentDigest?: string;
    previousDigest?: string;
    epochRollingGasCostSummary?: GasCostSummary;
    timestamp?: Timestamp;
    commitments: CheckpointCommitment[];
    endOfEpochData?: EndOfEpochData;
    versionSpecificData?: Uint8Array;
}
export interface EndOfEpochData {
    nextEpochCommittee: ValidatorCommitteeMember[];
    nextEpochProtocolVersion?: bigint;
    epochCommitments: CheckpointCommitment[];
}
export interface CheckpointCommitment {
    kind?: CheckpointCommitment_CheckpointCommitmentKind;
    digest?: string;
}
export declare enum CheckpointCommitment_CheckpointCommitmentKind {
    CHECKPOINT_COMMITMENT_KIND_UNKNOWN = 0,
    ECMH_LIVE_OBJECT_SET = 1,
    CHECKPOINT_ARTIFACTS = 2
}
declare class CheckpointSummary$Type extends MessageType<CheckpointSummary> {
    constructor();
}
export declare const CheckpointSummary: CheckpointSummary$Type;
declare class EndOfEpochData$Type extends MessageType<EndOfEpochData> {
    constructor();
}
export declare const EndOfEpochData: EndOfEpochData$Type;
declare class CheckpointCommitment$Type extends MessageType<CheckpointCommitment> {
    constructor();
}
export declare const CheckpointCommitment: CheckpointCommitment$Type;
export {};
