import { Diff } from '@sanity/diff';
import { Annotation } from '@sanity/field/diff';
import { Timeline } from './Timeline';
import { CombinedDocument, Chunk } from './types';
/**
 * A reconstruction represents a single reconstruction of a
 */
export declare class Reconstruction {
    timeline: Timeline;
    start: Chunk | null;
    end: Chunk;
    doc: CombinedDocument;
    constructor(timeline: Timeline, doc: CombinedDocument, start: Chunk | null, end: Chunk);
    same(start: Chunk | null, end: Chunk): boolean;
    private _startDocument?;
    private _endDocument?;
    private _diff?;
    /** Returns the attributes as seen at the end of the range. */
    endAttributes(): Record<string, unknown> | null;
    endDocument(): CombinedDocument;
    /** Returns the attributes as seen at the end of the range. */
    startAttributes(): Record<string, unknown> | null;
    startDocument(): CombinedDocument;
    diff(): Diff<Annotation>;
}
//# sourceMappingURL=Reconstruction.d.ts.map