export class GridActionRuleSet {
    /**
     *
     * @param {GridCellPlacementRule[]} rules
     * @param {RuleSelectionPolicyType} [policy]
     * @param {number[]} [pattern]
     * @param {boolean} [allowEveryRotation]
     * @returns {GridActionRuleSet}
     */
    static from({ rules, policy, pattern, allowEveryRotation }: GridCellPlacementRule[]): GridActionRuleSet;
    /**
     *
     * @type {GridCellPlacementRule[]}
     */
    elements: GridCellPlacementRule[];
    /**
     *
     * @type {RuleSelectionPolicyType|number}
     */
    policy: RuleSelectionPolicyType | number;
    /**
     * Rules will be evaluated for each cell, this pattern will be applied within each cell
     * @type {number[]}
     */
    pattern: number[];
    /**
     *
     * @type {boolean}
     */
    matchOrigin: boolean;
    /**
     *
     * @param {GridCellPlacementRule} rule
     */
    add(rule: GridCellPlacementRule): void;
    /**
     *
     * @param {GridData} grid
     * @param {number} seed
     * @param {number} [resolution=1] Number of sub-samples per single grid cell in each dimension
     * @returns {Task}
     */
    process(grid: GridData, seed: number, resolution?: number): Task;
}
import { RuleSelectionPolicyType } from "./RuleSelectionPolicyType.js";
//# sourceMappingURL=GridActionRuleSet.d.ts.map