import type GraphPersistencePort from '../../../src/ports/GraphPersistencePort.ts';
import type CodecPort from '../../../src/ports/CodecPort.ts';
import type CommitMessageCodecPort from '../../../src/ports/CommitMessageCodecPort.ts';
import type CryptoPort from '../../../src/ports/CryptoPort.ts';
type UpgradeStatus = 'missing-checkpoint' | 'already-current' | 'would-upgrade' | 'upgraded';
export declare class CheckpointSchemaUpgradeError extends Error {
    constructor(message: string);
}
export interface CheckpointSchemaUpgradeOptions {
    readonly persistence: GraphPersistencePort;
    readonly graphName: string;
    readonly dryRun?: boolean;
    readonly codec?: CodecPort;
    readonly commitMessageCodec?: CommitMessageCodecPort;
    readonly crypto?: CryptoPort;
}
export interface CheckpointSchemaUpgradeResult {
    readonly status: UpgradeStatus;
    readonly graphName: string;
    readonly checkpointRef: string;
    readonly previousCheckpointSha: string | null;
    readonly upgradedCheckpointSha: string | null;
    readonly previousSchema: number | null;
    readonly currentSchema: number;
}
export declare function upgradeCheckpointSchema(options: CheckpointSchemaUpgradeOptions): Promise<CheckpointSchemaUpgradeResult>;
export {};
