/**
 * Checkpoint creation logic for WARP multi-writer graph database.
 *
 * Supports current checkpoint envelope creation with optional index tree.
 *
 * @module domain/services/state/checkpointCreate
 * @see WARP Spec Section 10
 */
import { type ContentAnchorObjectType } from './checkpointHelpers.ts';
import type WarpState from './WarpState.ts';
import type CommitPort from '../../../ports/CommitPort.ts';
import type BlobPort from '../../../ports/BlobPort.ts';
import type TreePort from '../../../ports/TreePort.ts';
import type CodecPort from '../../../ports/CodecPort.ts';
import type CommitMessageCodecPort from '../../../ports/CommitMessageCodecPort.ts';
import type CryptoPort from '../../../ports/CryptoPort.ts';
import type CheckpointStorePort from '../../../ports/CheckpointStorePort.ts';
import type StateHashService from './StateHashService.ts';
import type { ProvenanceIndex } from '../provenance/ProvenanceIndex.ts';
/** Combined persistence surface needed by checkpoint creation. */
export type CheckpointPersistence = CommitPort & BlobPort & TreePort & {
    readObjectType?(_oid: string): Promise<ContentAnchorObjectType>;
};
/** Options for creating the current checkpoint envelope. */
export interface CreateCheckpointOptions {
    persistence: CheckpointPersistence;
    graphName: string;
    state: WarpState;
    frontier: Map<string, string>;
    parents?: string[];
    compact?: boolean;
    provenanceIndex?: ProvenanceIndex;
    codec?: CodecPort;
    commitMessageCodec?: CommitMessageCodecPort;
    crypto?: CryptoPort;
    indexTree?: Record<string, Uint8Array>;
    checkpointStore?: CheckpointStorePort;
    stateHashService?: StateHashService;
}
/**
 * Creates a checkpoint commit containing a state envelope and frontier.
 *
 * Tree structure:
 * ```
 * <checkpoint_commit_tree>/
 * ├── state/               # AUTHORITATIVE: state envelope
 * ├── frontier.cbor        # Writer frontiers
 * ├── appliedVV.cbor       # Version vector of dots in state
 * └── provenanceIndex.cbor # Optional: node-to-patchSha index (HG/IO/2)
 * ```
 *
 * @returns The checkpoint commit SHA
 */
export declare function create(options: CreateCheckpointOptions): Promise<string>;
/**
 * Creates a checkpoint commit with full ORSet state envelope.
 *
 * Checkpoint Tree Structure:
 * ```
 * <checkpoint_tree>/
 * ├── state/               # AUTHORITATIVE: state envelope
 * ├── frontier.cbor        # Writer frontiers
 * ├── appliedVV.cbor       # Version vector of dots in state
 * └── provenanceIndex.cbor # Optional: node-to-patchSha index (HG/IO/2)
 * ```
 *
 * @returns The checkpoint commit SHA
 */
export declare function createCheckpointEnvelope({ persistence, graphName, state, frontier, parents, compact, provenanceIndex, codec, commitMessageCodec, crypto, indexTree, checkpointStore, stateHashService, }: CreateCheckpointOptions): Promise<string>;
