import type { _NSObject } from "../Foundation/NSObject.js";
import type { _GKGameModelPlayer } from "./GKGameModelPlayer.js";
import type { _GKGameModelUpdate } from "./GKGameModelUpdate.js";
import type { _GKStrategist } from "./GKStrategist.js";
export declare class _GKMinmaxStrategist extends _NSObject {
    static alloc(): _GKMinmaxStrategist;
    static new(): _GKMinmaxStrategist;
    init(): _GKMinmaxStrategist;
    /**
     * Selects the best move for the specified player. If randomSource is not nil, it will randomly select which move to use if there are one or more ties for the best. Returns nil if the player is invalid, the player is not a part of the game model, or the player has no valid moves available.
     */
    bestMoveForPlayer$(player: _GKGameModelPlayer): _GKGameModelUpdate | null;
    /**
     * Selects one move from the set of N best moves for the specified player, where N is equal to numMovesToConsider. If randomSource is nil, it will not randomly select, but will behave like bestMoveForPlayer and return the first best move. Returns nil if the player is invalid, the player is not a part of the game model, or the player has no valid moves available.
     */
    randomMoveForPlayer$fromNumberOfBestMoves$(player: _GKGameModelPlayer, numMovesToConsider: number): _GKGameModelUpdate | null;
    /**
     * The maximum number of future turns that will be processed when searching for a move.
     */
    maxLookAheadDepth(): number;
    setMaxLookAheadDepth$(value: number): void;
}
export interface _GKMinmaxStrategist extends _GKStrategist {
}
