import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _GKDecisionNode } from "./GKDecisionNode.js";
import type { _GKRandomSource } from "./GKRandomSource.js";
export declare class _GKDecisionTree extends _NSObject {
    static alloc(): _GKDecisionTree;
    static new(): _GKDecisionTree;
    init(): _GKDecisionTree;
    /**
     * Initializes the decision tree with a root node containing the provided attribute @param attribute The attribute to be contained at the root of the tree @return GKDecisionTree with the set root
     */
    initWithAttribute$(attribute: _NSObject): _GKDecisionTree;
    /**
     * Initializes and constructs a decision tree by learning from the provided examples & attributes @param examples Must be an array of examples (with each example being a collection of the various attributes at a given state) @param actions An array of the corresponding actions for each example. Ordered such that the first action matches with the first example in examples. @param attributes The list of attributes. Ordered such that the first attribute matches with the first result in each example. So if we have two attributes: [distance, jump height], and two examples: [[20, 8], [15, 14]], and the resulting actions here: [Roll, Jump], we can think of this as a matrix: distance| height <- Attributes _______|_______ | | | | 20 | 8 | jump |-------|-------|------- <- Results | 15 | 14 | roll |_______|_______| ^ | Examples @return GKDecisionTree created by learning from the provided examples for the provided attributes
     */
    initWithExamples$actions$attributes$(examples: _NSArray, actions: _NSArray, attributes: _NSArray): _GKDecisionTree;
    /**
     * Initializes a decision tree from the contents of a file @param url The URL from which the contents will be loaded @return The instance of the decision tree constructed
     */
    initWithURL$error$(url: _NSURL, error: _NSError | null): _GKDecisionTree;
    /**
     * Exports a decision tree to the given URL @param url The URL to which the contents will be exported @return The response indicating the status of the decision tree being successfully exported
     */
    exportToURL$error$(url: _NSURL, error: _NSError | null): boolean;
    /**
     * Will branch down from the root node to find the correct action attribute for the given collection of results and their respective attributes @param answers The dictionary of attributes (keys) and their answers (values) @return The attribute found by traversing the tree given the provided answers
     */
    findActionForAnswers$(answers: _NSDictionary): _NSObject | null;
    /** The node for the decision tree that all other nodes descend from */
    rootNode(): _GKDecisionNode | null;
    /**
     * The random source used by the decision tree when descending on a random branch This must be set before creating any weighted branches @see GKDecisionNode
     */
    randomSource(): _GKRandomSource;
    setRandomSource$(value: _GKRandomSource): void;
}
export interface _GKDecisionTree extends _NSSecureCoding {
}
