/**
 * Gem puzzle environment
 */
export default class GemPuzzleRLEnvironment extends RLEnvironmentBase {
    static UP: number;
    static RIGHT: number;
    static DOWN: number;
    static LEFT: number;
    _size: number[];
    _board: GemPuzzleBoard;
    _reward: {
        win: number;
        step: number;
        invalid: number;
    };
    get actions(): number[][];
    get states(): number[][];
    _makeState(board: any): any[];
    _state2board(state: any): GemPuzzleBoard;
    reset(): any[];
    state(): any[];
    setState(state: any): void;
    step(action: any): RLStepResult;
    test(state: any, action: any): RLStepResult;
}
import { RLEnvironmentBase } from './base.js';
declare class GemPuzzleBoard {
    static UP: number;
    static RIGHT: number;
    static DOWN: number;
    static LEFT: number;
    constructor(size: any);
    _size: any;
    get size(): any;
    get finish(): boolean;
    get emptyPosition(): number[];
    toString(): string;
    copy(): GemPuzzleBoard;
    score(): number;
    at(p: any): any;
    find(v: any): number[];
    move(m: any): boolean;
    reset(): void;
    _board: any[];
    random(): void;
    choices(): number[];
    solve(): any[];
}
import { RLStepResult } from './base.js';
export {};
