import { Map as ImmutableMap } from 'immutable'; import { BranchId, StateId } from './interfaces'; export default class DagGraph { graph: ImmutableMap; constructor(graph: ImmutableMap); print(): string; readonly currentStateId: StateId; branchStartDepth(branch: BranchId): number; branchEndDepth(branch: BranchId): number; stateDepth(commit: StateId): number; depthIndexOf(branch: BranchId, commit: StateId): number; readonly maxDepth: number; setCurrentStateId(stateId: StateId): this; readonly currentBranch: BranchId; setCurrentBranch(branchId: BranchId): this; latestOn(branch: BranchId): StateId; committedOn(branch: BranchId): StateId; setLatest(branch: BranchId, commit: StateId): this; setCommitted(branch: BranchId, commit: StateId): this; markStateForBranch(commit: StateId, branch: BranchId): this; setFirst(branch: BranchId, commit: StateId): this; firstOn(branch: BranchId): StateId; renameState(commit: StateId, name: string): this; stateName(commit: StateId): any; getBranchName(branch: BranchId): string; setBranchName(branch: BranchId, name: string): this; getState(commit: StateId): T; insertState(commit: StateId, parent: StateId, state: T, name: string): this; childrenOf(commit: StateId): StateId[]; parentOf(commit: StateId): StateId; alternateParentsOf(commit: StateId): StateId[]; shallowestParentOf(commit: StateId): StateId; replaceState(commit: StateId, state: T): this; commitPath(commit: StateId): StateId[]; shortestCommitPath(commit: StateId): StateId[]; branchCommitPath(branch: BranchId): StateId[]; setParent(commit: StateId, parent: StateId): void; setAlternateParent(commit: StateId, parent: StateId): void; readonly branches: BranchId[]; branchOf(commit: StateId): BranchId; branchesOf(commit: StateId): BranchId[]; private remove(commit); squashCurrentBranch(): this; }