import type { SerializedProjectCommand } from "../models/project-command.model.js"; export type ProjectHistoryDirection = "undo" | "redo"; export interface ProjectHistoryState { projectId: string; currentRevision: number; undoDepth: number; redoDepth: number; undoChangeSetId: string | null; redoChangeSetId: string | null; } export interface ProjectHistoryCommand { changeSetId: string; command: SerializedProjectCommand; } export interface ProjectHistoryStore { getState(projectId: string): ProjectHistoryState | null; getNextCommand( projectId: string, direction: ProjectHistoryDirection ): ProjectHistoryCommand | null; }