import { VNode } from 'snabbdom'; import * as cg from 'chessgroundx/types'; import { Api } from 'chessgroundx/api'; import { Variant, BOARD_FAMILIES, PIECE_FAMILIES } from './chess'; import { ISettings } from './settings'; import { PyChessModel } from "./types"; export interface IBoardController { readonly chessground: Api; readonly variant: Variant; readonly mycolor: cg.Color; readonly oppcolor: cg.Color; readonly hasPockets: boolean; notation: cg.Notation; fullfen: string; model?: PyChessModel; autoPromote?: boolean; arrow?: boolean; blindfold?: boolean; materialDifference?: boolean; updateMaterial?: any; chartFunctions?: any[]; vmaterial0?: VNode | HTMLElement; vmaterial1?: VNode | HTMLElement; flipped(): boolean; } declare class BoardSettings { ctrl: IBoardController; settings: { [key: string]: ISettings; }; assetURL: string; constructor(); getSettings(settingsType: string, family: string): ISettings; updateBoardAndPieceStyles(): void; updateBoardStyle(family: keyof typeof BOARD_FAMILIES): void; updatePieceStyle(family: keyof typeof PIECE_FAMILIES): void; updateDropSuggestion(): void; updateZoom(family: keyof typeof BOARD_FAMILIES): void; updateBlindfold(): void; view(variantName: string): VNode; } export declare const boardSettings: BoardSettings; export {};