/**
 * SARSA agent
 */
export default class SARSAAgent {
    /**
     * @param {RLEnvironmentBase} env Environment
     * @param {number} [resolution] Resolution
     */
    constructor(env: RLEnvironmentBase, resolution?: number);
    _env: RLEnvironmentBase;
    _table: SARSATable;
    /**
     * Reset agent.
     */
    reset(): void;
    _last_action: any[];
    /**
     * Returns a score.
     * @returns {Array<Array<Array<number>>>} Score values
     */
    get_score(): Array<Array<Array<number>>>;
    /**
     * Returns a action.
     * @param {*[]} state Current states
     * @param {number} greedy_rate Greedy rate
     * @returns {*[]} Action
     */
    get_action(state: any[], greedy_rate?: number): any[];
    /**
     * Update model.
     * @param {*[]} action Action
     * @param {*[]} state Current states
     * @param {*[]} next_state Next states
     * @param {number} reward Reward
     */
    update(action: any[], state: any[], next_state: any[], reward: number): void;
    _last_state: any[];
    _last_reward: number;
}
import { RLEnvironmentBase } from '../rl/base.js';
declare class SARSATable extends QTableBase {
    constructor(env: any, resolution?: number, alpha?: number, gamma?: number);
    _alpha: number;
    _gamma: number;
    update(action: any, state: any, next_action: any, next_state: any, reward: any): void;
}
import { QTableBase } from './q_learning.js';
export {};
