/**
 * Gomoku environment
 */
export default class GomokuRLEnvironment extends RLEnvironmentBase {
    static BLACK: number;
    static WHITE: number;
    static EMPTY: number;
    static OWN: number;
    static OTHER: number;
    _size: number[];
    _board: GomokuBoard;
    _reward: {
        win: number;
        lose: number;
        step: number;
    };
    get actions(): string[][];
    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): GomokuBoard;
    _checkAgent(agent: any): void;
    reset(): any[];
    _agents: number[];
    _turn: any;
    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 GomokuBoard {
    constructor(size: any, evaluator: any);
    _evaluator: any;
    _size: any;
    _a: number;
    _count: number;
    get size(): any;
    get finish(): boolean;
    get winner(): 2 | 3;
    toString(): string;
    nextTurn(turn: any): 2 | 3;
    copy(): GomokuBoard;
    score(turn: any): any;
    at(p: any): any;
    set(p: any, turn: any): boolean;
    reset(): void;
    _board: any[];
    choices(): any[];
    row(turn: any, length: any, separate?: boolean): {
        path: number[][];
        s: number[][];
    }[];
}
export {};
