import type { DistributionBoardSubtreeProjectCommand } from "../models/distribution-board-subtree-project-command.model.js"; import type { DistributionBoardSubtreeSnapshot } from "../models/distribution-board-subtree-snapshot.model.js"; import type { AppendedProjectRevision, ProjectRevisionSource, } from "./project-revision.store.js"; export interface ExecuteDistributionBoardSubtreeCommandInput { projectId: string; expectedRevision: number; source: ProjectRevisionSource; description?: string; actorId?: string; historyTargetChangeSetId?: string; command: DistributionBoardSubtreeProjectCommand; } export interface DistributionBoardSubtreeProjectCommandStore { capture( projectId: string, distributionBoardId: string ): DistributionBoardSubtreeSnapshot; execute(input: ExecuteDistributionBoardSubtreeCommandInput): { revision: AppendedProjectRevision; inverse: DistributionBoardSubtreeProjectCommand; }; }