import { Rank, Geometry, Key, Pos, PieceLetter, Role, DropOrig, Variant, Memo, Timer, Color, Piece, PieceSide, BoardDimensions, NumberPair, MouchEvent } from './types'; export declare const invRanks: readonly Rank[]; export declare const NRanks: readonly number[]; export declare const invNRanks: readonly number[]; export declare function allKeys(geom: Geometry): Key[]; export declare function allPos(geom: Geometry): Pos[]; export declare const pos2key: (pos: Pos) => Key; export declare const key2pos: (k: Key) => Pos; export declare function roleOf(letter: PieceLetter): Role; export declare function letterOf(role: Role, uppercase?: boolean): PieceLetter; export declare function dropOrigOf(role: Role): DropOrig; export declare function kingRoles(_variant: Variant): Role[]; export declare function memo(f: () => A): Memo; export declare const timer: () => Timer; export declare const opposite: (c: Color) => Color; export declare const samePiece: (p1: Piece, p2: Piece) => boolean; export declare const pieceSide: (p: Piece, o: Color) => PieceSide; export declare const pieceClasses: (p: Piece, o: Color) => string; export declare const distanceSq: (pos1: Pos, pos2: Pos) => number; export declare const posToTranslate: (bounds: DOMRect, bd: BoardDimensions) => ((pos: Pos, asWhite: boolean) => NumberPair); export declare const translate: (el: HTMLElement, pos: NumberPair) => void; export declare const setVisible: (el: HTMLElement, v: boolean) => void; export declare const eventPosition: (e: MouchEvent) => NumberPair | undefined; export declare const isRightButton: (e: MouchEvent) => boolean; export declare const createEl: (tagName: string, className?: string) => HTMLElement; export declare const isMiniBoard: (el: HTMLElement) => boolean; export declare function computeSquareCenter(key: Key, asWhite: boolean, bounds: DOMRect, bd: BoardDimensions): NumberPair;