import { SVGBoard } from '../../SVGBoard'; import { FieldBoardObject, BoardObject, BoardViewport } from '../../BoardBase'; import { Point } from '../../types'; import { SVGBoardObject, SVGDrawHandler, SVGBoardTheme } from '../../SVGBoard/types'; import { PartialRecursive } from '../../utils/makeConfig'; import PlayerDOMComponent from './PlayerDOMComponent'; import PlayerDOM from '../PlayerDOM'; export interface SVGBoardComponentConfig { coordinates: boolean; currentMoveBlackMark: SVGDrawHandler; currentMoveWhiteMark: SVGDrawHandler; variationDrawHandler: SVGDrawHandler; highlightCurrentMove: boolean; showVariations: boolean; showCurrentVariations: boolean; theme?: PartialRecursive; } export declare const defaultSVGBoardComponentConfig: SVGBoardComponentConfig; export default class SVGBoardComponent implements PlayerDOMComponent { board: SVGBoard; config: SVGBoardComponentConfig; element: HTMLElement; player: PlayerDOM; stoneBoardsObjects: FieldBoardObject[]; temporaryBoardObjects: SVGBoardObject[]; viewportStack: BoardViewport[]; boardMouseX: number; boardMouseY: number; constructor(config?: PartialRecursive); createDOM(): void; create(player: PlayerDOM): void; destroy(): void; protected updateStones(): void; protected addVariationMarkup(): void; protected clearTemporaryBoardObjects(): void; protected handleBoardClick(point: Point): void; protected handleBoardMouseMove(point: Point): void; protected handleBoardMouseOut(): void; private handleVariationCursor; private removeVariationCursor; private applyNodeChanges; private clearNodeChanges; private applyMarkupProperty; private applyLabelMarkupProperty; private applyLineMarkupProperty; private applyViewportProperty; private clearViewportProperty; private applyMoveProperty; addTemporaryBoardObject(obj: BoardObject): void; removeTemporaryBoardObject(obj: FieldBoardObject): void; updateTemporaryBoardObject(obj: FieldBoardObject): void; setCoordinates(b: boolean): void; getVariations(): Point[]; shouldShowVariations(): boolean; shouldShowCurrentVariations(): boolean; }