import { IGame, GameRenderState } from '../types';
export declare class TetrisGame implements IGame {
    readonly name = "Tetris";
    private panelWidth;
    private panelHeight;
    private board;
    private current;
    private score;
    private level;
    private linesCleared;
    private _paused;
    private _gameOver;
    private dropAccumulator;
    private bag;
    private nextType;
    private locking;
    private lockDelayAccumulator;
    private lockDelayResets;
    init(width: number, height: number): void;
    tick(deltaMs: number): void;
    handleInput(key: string): void;
    getState(): GameRenderState;
    resize(width: number, height: number): void;
    isPaused(): boolean;
    pause(): void;
    resume(): void;
    isGameOver(): boolean;
    reset(): void;
    private nextPieceType;
    private spawnPiece;
    private absoluteBlocks;
    private isValidPosition;
    private tryMove;
    private moveDown;
    private hardDrop;
    private tryRotate;
    private lockPiece;
    private clearLines;
    private canMoveDown;
    private resetLockDelay;
    private dropInterval;
    private buildGrid;
    private drawBorder;
    private findGhostPos;
}
