import type { Operation } from '@api-client/json/patch/types.js';
import { RevisionKind } from '../kinds.js';
export interface IRevisionListItem {
    kind: typeof RevisionKind;
    /**
     * The datastore key for this patch object.
     */
    id: string;
    /**
     * The timestamp when the patch was created.
     */
    created: number;
    /**
     * The ever incrementing revision number.
     */
    revision: number;
    /**
     * A flag determining that the revision is inactive.
     * This may happen when a previous revision has been restored. This revision is then
     * detached from the latest revision tree. It can be user to move forward in the history though.
     *
     * Implementations! Revisions should be removed from the storage when a new revision has been created
     * that has diverged from the tree.
     */
    deleted?: boolean;
}
/**
 * The definition of a patch revision.
 * The revision is created with the `@api-client/json` library.
 */
export interface IRevision extends IRevisionListItem {
    /**
     * The `@api-client/json` revisions object used to restore the previous state.
     */
    patch: Operation[];
    /**
     * The content of the document.
     * Note that the content does not include patches.
     */
    content: unknown;
}
//# sourceMappingURL=Revision.d.ts.map