import type { _PHASESoundEventNodeDefinition } from "./PHASESoundEventNodeDefinition.js";
import type { _NSNumber } from "../Foundation/NSNumber.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _PHASERandomNodeDefinition extends _PHASESoundEventNodeDefinition {
    static alloc(): _PHASERandomNodeDefinition;
    static new(): _PHASERandomNodeDefinition;
    /**
     * @method init @abstract Create a random node definition @return A new PHASERandomNodeDefinition object
     */
    init(): _PHASERandomNodeDefinition;
    /**
     * @method initWithIdentifier @abstract Create a random node definition @param identifier An optional custom identifier to give to this object @return A new PHASERandomNodeDefinition object
     */
    initWithIdentifier$(identifier: _NSString): _PHASERandomNodeDefinition;
    /**
     * @method addSubtree @abstract Add a subtree to a random node @param subtree A PHASESoundEventNodeDefinition that will be a child node of this random node @param weight The probability weight of this subtree. Higher numbers compared to other subtree weights will increase the likelihood of being chosen. This value must be greater than or equal to 1, and is clamped otherwise.
     */
    addSubtree$weight$(subtree: _PHASESoundEventNodeDefinition, weight: _NSNumber): void;
    /**
     * @property uniqueSelectionQueueLength @abstract Subtrees will not be repeated until after this random node is activated uniqueSelectionQueueLength number of times.
     */
    uniqueSelectionQueueLength(): number;
    setUniqueSelectionQueueLength$(value: number): void;
}
