import { Move } from "./Move"; import { Variation } from "./Variation"; import { MoveTree } from "./types"; export declare class VariationMap { private readonly variationMap; constructor(map?: Map); clone(): VariationMap; addVariation(parent?: Move): Variation; getVariation(variationId: string): Variation; removeVariation(variationId: string): boolean; addMove(move: Move): void; updateMove(move: Move): void; getParent(variation: Variation): Move | null; getMove(variationId: string, moveId: string): Move; findMove(predicate: (move: Move) => boolean): Move | null; getMoves(variationId: string): Move[]; getTheMainLine(): Move[]; getMainLines(): Move[][]; variations(): Move[][]; traverse(callback: (move: Move) => void): void; map(callback: (move: Move) => Move): VariationMap; filter(predicate: (move: Move) => boolean): VariationMap; size(): number; tree(): MoveTree[][]; private toTree; }