import { PgnData } from "./PgnParser"; import { MoveArgs, MoveTree, Tags } from "./types"; import { Move } from "./Move"; export interface PgnCloneArgs extends Partial { } export declare class Pgn { readonly tags: Tags; readonly result: string; readonly currentMove: Move; private readonly variationMap; constructor(args?: PgnData | string); static merge(pgnList: string): Pgn; static parse(pgnList: string): Pgn[]; cloneWith(args: PgnCloneArgs): Pgn; addResult: (result: string) => Pgn; addTag: (key: string, value: string) => Pgn; move: (args: string | MoveArgs) => Pgn; comment(comment: string): Pgn; annotate(annotation: string): Pgn; selectMove(predicate: (move: Move) => boolean): Pgn; getCurrentMove(): Move; nextMove(): Pgn; previousMove(): Pgn; lastMove(): Pgn; firstMove(): Pgn; startingPosition(): Pgn; nextMoves(): Move[]; previousMoves(): Move[]; variations(): Move[][]; traverse(callback: (move: Move) => any): Pgn; find(predicate: (move: Move) => boolean): Move | null; map(callback: (move: Move) => Move): Pgn; filter(predicate: (move: Move) => boolean): Pgn; toString: () => string; variationsToString(variations: MoveTree[][]): string; private updateCurrentMove; private getNextMove; private getPreviousMove; private static createMove; } export default Pgn;