declare const engine: { search: (depth: number) => number; perft: (depth: number) => void; setTimeControl: (timeControl: import("./search").TimeControl) => void; resetTimeControl: () => void; clearSearch: () => void; VERSION: string; START_FEN: string; COLOR: { RED: number; BLACK: number; NO_COLOR: number; }; squareToString: (square: number) => string; printBoard: () => void; setBoard: (fen: string) => boolean; getPiece: (square: number) => number; getSide: () => number; getSixty: () => number; getBoardState: () => import("./core").BoardState; resetSearchPly: () => void; generateMoves: (onlyCaptures?: number) => { move: number; score: number; }[]; generateLegalMoves: () => { move: number; score: number; }[]; evaluate: () => number; isRepetition: () => boolean; inCheck: (color: number) => boolean; moveStack: () => import("./core").Move[]; moveFromString: (moveString: string) => number; moveToString: (move: number) => string; getSourceSquare: (move: number) => number; getTargetSquare: (move: number) => number; getCaptureFlag: (move: number) => number; loadMoves: (moves: string) => string[]; getMoves: () => string[]; printMoveList: (moveList: { move: number; score: number; }[]) => void; makeMove: (move: number) => number; takeBack: () => void; setHashSize: (Mb: number) => void; initHashTable: () => void; getFen: () => string; isSquareAttacked: (square: number, color: number) => boolean; getAttackers: (square: number, color: number) => { square: number; piece: number; }[]; getChaseTargets: (side: number) => import("./ChaseRecord").ChaseList; getLastMoveChases: () => import("./ChaseRecord").ChaseList; setRuleTracking: (enabled: boolean) => boolean; getStartFen: () => string; debug: () => void; moveNotationToSquares: (moveNotation: string) => { source: number; target: number; }; detectPerpetualChase: (maxChases?: number) => void; detectPerpetualCheck: (maxChecks?: number) => void; detectPerpetualRules: (maxRepeats?: number) => void; agreeDraw: (agreed?: boolean) => void; isDrawAgreed: () => boolean; getAttackingMaterial: (side: number) => { pawns: number; knights: number; cannons: number; rooks: number; total: number; }; hasMatingMaterial: (side: number) => boolean; isDrawByInsufficientMaterial: () => boolean; isDrawByRepetition: (maxRepeats?: number) => boolean; getMovesWithoutCapture: () => number; canClaimDrawByMoveLimit: (moveLimit?: number) => boolean; getDrawStatus: (options?: { maxRepeats?: number; moveLimit?: number; } | undefined) => import("./core").DrawStatus; getMyLastMoveBySide: (side: number) => number | undefined; getRepetitions: () => number; }; export default engine; export { default as PerpetualChaseError } from './exceptions/PerpetualChaseError'; export { default as PerpetualCheckError } from './exceptions/PerpetualCheckError'; export type { Piece, ChaseRecord, ChaseList } from './ChaseRecord'; export type { Move, BoardState, HashEntry, DrawReason, DrawStatus } from './core'; export type { TimeControl } from './search';