declare const FILES: readonly ["a", "b", "c", "d", "e", "f", "g", "h"];
export type File = (typeof FILES)[number];
export type Rank = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8";
export type Square = `${File}${Rank}`;
export type WhitePiece = "K" | "Q" | "R" | "B" | "N" | "P";
export type BlackPiece = "k" | "q" | "r" | "b" | "n" | "p";
export type Piece = WhitePiece | BlackPiece;
export type PieceOrEmpty = Piece | "";
export declare class ChessBoardElement extends HTMLElement {
    private _board;
    private _table;
    private _observer;
    private _lastUnicode;
    static get observedAttributes(): string[];
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, _oldValue: string | null, _newValue: string | null): void;
    get fen(): string;
    set fen(value: string);
    piece(square: Square): PieceOrEmpty;
    put(square: Square, piece: Piece): void;
    clear(square: Square): void;
    move(from: Square, to: Square): void;
    clearBoard(): void;
    private _renderBoard;
}
declare global {
    interface HTMLElementTagNameMap {
        "chess-board": ChessBoardElement;
    }
}
export {};
