export default PDOMFuzzer;
declare class PDOMFuzzer {
    /**
     * @param {number} nodeCount
     * @param {boolean} logToConsole
     * @param {number} [seed]
     */
    constructor(nodeCount: number, logToConsole: boolean, seed?: number);
    nodeCount: number;
    logToConsole: boolean;
    nodes: Node[];
    display: Display;
    random: Random;
    actionsTaken: any[];
    /**
     * Runs one action randomly (printing out the action and result).
     * @public
     */
    public step(): void;
    /**
     * Find all of the possible actions that are legal.
     * @private
     *
     * @returns {Array.<Object>} - like { text: {string}, execute: {function} }
     */
    private enumerateActions;
    /**
     * Checks whether the child can be added (as a child) to the parent.
     * @private
     *
     * @param {Node} parent
     * @param {Node} child
     * @returns {boolean}
     */
    private isAddChildLegal;
    /**
     * Returns the power set of a set (all subsets).
     * @private
     *
     * @param {Array.<*>} list
     * @returns {Array.<Array.<*>>}
     */
    private powerSet;
    /**
     * Returns whether an accessible order change is legal.
     * @private
     *
     * @param {Node} node
     * @param {Array.<Node|null>|null} order
     */
    private isPDOMOrderChangeLegal;
    /**
     * Checks whether a connection (parent-child or accessible order) is legal (doesn't cause a cycle).
     * @private
     *
     * @param {Node} parent
     * @param {Node} child
     * @param {function} hasConnection - determines whether there is a parent-child-style relationship between params
     * @returns {boolean}
     */
    private isAcyclic;
    /**
     * Releases references
     * @public
     */
    public dispose(): void;
}
import { Node } from '../../imports.js';
import { Display } from '../../imports.js';
import Random from '../../../../dot/js/Random.js';
//# sourceMappingURL=PDOMFuzzer.d.ts.map