import CheckpointTailOpticSource, { type CheckpointTailCheckpointFrontier, type CheckpointTailPatchEntry } from './CheckpointTailOpticSource.ts';
import type CodecPort from '../../../ports/CodecPort.ts';
import type BlobStoragePort from '../../../ports/BlobStoragePort.ts';
import type CommitMessageCodecPort from '../../../ports/CommitMessageCodecPort.ts';
import type { CorePersistence } from '../../types/WarpPersistence.ts';
export type CoordinateCheckpointTailOpticSourceOptions = {
    readonly source: CheckpointTailOpticSource;
    readonly checkpointSha: string;
    readonly frontier: Map<string, string>;
};
export default class CoordinateCheckpointTailOpticSource extends CheckpointTailOpticSource {
    readonly graphName: string;
    readonly _persistence: CorePersistence;
    readonly _codec: CodecPort;
    readonly _blobStorage: BlobStoragePort | null;
    readonly _commitMessageCodec: CommitMessageCodecPort;
    private readonly _source;
    private readonly _checkpointSha;
    private readonly _frontier;
    constructor(options: CoordinateCheckpointTailOpticSourceOptions);
    discoverWriters(): Promise<string[]>;
    _readCheckpointSha(): Promise<string | null>;
    _loadPatchChainFromSha(tipSha: string, stopAtSha?: string | null): Promise<CheckpointTailPatchEntry[]>;
    _loadWriterPatches(writerId: string, stopAtSha?: string | null): Promise<CheckpointTailPatchEntry[]>;
    _validatePatchAgainstCheckpoint(writerId: string, incomingSha: string, checkpoint: CheckpointTailCheckpointFrontier | null | undefined): Promise<void>;
}
