import type { AnimCurrent } from './anim'; import type { DragCurrent } from './drag'; import type { Drawable } from './draw'; import { BoardDimensions, Color, Dests, Dom, DropDests, Elements, Exploding, Geometry, Key, KeyPair, MoveMetadata, Notation, Piece, Pieces, Plinths, PocketRoles, Pockets, Role, SetPremoveMetadata, Timer, Variant } from './types'; export interface HeadlessState { pieces: Pieces; plinths: Plinths; plinthsPlaced: boolean; orientation: Color; turnColor: Color; check?: Key; lastMove?: Key[]; selected?: Key; coordinates: boolean; autoCastle: boolean; viewOnly: boolean; disableContextMenu: boolean; addPieceZIndex: boolean; addDimensionsCssVars: boolean; blockTouchScroll: boolean; pieceKey: boolean; highlight: { lastMove: boolean; check: boolean; }; animation: { enabled: boolean; duration: number; current?: AnimCurrent; }; movable: { free: boolean; color?: Color | 'both'; dests?: Dests; showDests: boolean; events: { after?: (orig: Key, dest: Key, metadata: MoveMetadata) => void; afterNewPiece?: (role: Role, key: Key, metadata: MoveMetadata) => void; }; rookCastle: boolean; }; premovable: { enabled: boolean; showDests: boolean; castle: boolean; dests?: Key[]; current?: KeyPair; events: { set?: (orig: Key, dest: Key, metadata?: SetPremoveMetadata) => void; unset?: () => void; }; }; predroppable: { enabled: boolean; showDropDests: boolean; dropDests?: Key[]; current?: { role: Role; key: Key; }; events: { set?: (role: Role, key: Key) => void; unset?: () => void; }; }; draggable: { enabled: boolean; distance: number; autoDistance: boolean; showGhost: boolean; deleteOnDropOff: boolean; current?: DragCurrent; }; dropmode: { active: boolean; showDropDests: boolean; piece?: Piece; dropDests?: DropDests; }; selectable: { enabled: boolean; }; stats: { dragged: boolean; ctrlKey?: boolean; }; events: { change?: () => void; move?: (orig: Key, dest: Key, capturedPiece?: Piece) => void; dropNewPiece?: (piece: Piece, key: Key) => void; select?: (key: Key) => void; insert?: (elements: Elements) => void; pocketSelect?: (piece: Piece) => void; }; drawable: Drawable; exploding?: Exploding; hold: Timer; dimensions: BoardDimensions; geometry: Geometry; variant: Variant; chess960: boolean; notation: Notation; pockets?: Pockets; pocketRoles?: PocketRoles; } export interface State extends HeadlessState { dom: Dom; } export declare function defaults(): HeadlessState;