/**
 * Reversi environment
 */
export default class ReversiRLEnvironment extends RLEnvironmentBase {
    static BLACK: number;
    static WHITE: number;
    static EMPTY: number;
    static OWN: number;
    static OTHER: number;
    _size: number[];
    _board: ReversiBoard;
    _turn: number;
    _reward: {
        win: number;
        lose: number;
        step: number;
    };
    get actions(): number[][];
    get states(): number[][];
    set evaluation(func: any);
    _evaluation: (board: any, turn: any) => any;
    _makeState(board: any, agentturn: any, gameturn: any): any[];
    _state2board(state: any, turn: any): ReversiBoard;
    _checkAgent(agent: any): void;
    reset(): any[];
    _agents: number[];
    state(agent: any): any[];
    setState(state: any, agent: any): void;
    step(action: any, agent: any): {
        state: any[];
        reward: number;
        done: boolean;
        invalid?: boolean;
    };
    test(state: any, action: any, agent: any): {
        state: any;
        reward: number;
        done: boolean;
        invalid: boolean;
    } | {
        state: any[];
        reward: number;
        done: boolean;
        invalid?: undefined;
    };
}
import { RLEnvironmentBase } from './base.js';
declare class ReversiBoard {
    constructor(size: any, evaluator: any);
    _evaluator: any;
    _size: any;
    get size(): any;
    get count(): {
        black: number;
        white: number;
    };
    get finish(): boolean;
    get winner(): 2 | 3;
    toString(): string;
    nextTurn(turn: any): 1 | 2 | 3;
    copy(): ReversiBoard;
    score(turn: any): any;
    at(p: any): any;
    set(p: any, turn: any): boolean;
    reset(): void;
    _board: any[];
    choices(turn: any): number[][];
    flipPositions(i: any, j: any, turn: any): any[][];
}
export {};
