export class MarkerProcessingRule {
    /**
     *
     * @param {MarkerNodeMatcher} matcher
     * @param {MarkerNodeTransformer[]} [transformers]
     * @param {MarkerNodeAction} action
     * @param {boolean} [consume]
     * @returns {MarkerProcessingRule}
     */
    static from({ matcher, transformers, action, consume }: MarkerNodeMatcher): MarkerProcessingRule;
    /**
     * @type {MarkerNodeMatcher}
     */
    matcher: MarkerNodeMatcher;
    /**
     *
     * @type {MarkerNodeTransformer[]}
     */
    transformers: MarkerNodeTransformer[];
    /**
     *
     * @type {MarkerNodeAction}
     */
    action: MarkerNodeAction;
    /**
     * If this rule is applied, no other rules may be applied to the same node
     * @type {boolean}
     */
    consume: boolean;
    /**
     *
     * @param {GridData} grid
     * @param {EntityComponentDataset} ecd
     * @param {number} seed
     */
    initialize(grid: GridData, ecd: EntityComponentDataset, seed: number): void;
}
//# sourceMappingURL=MarkerProcessingRule.d.ts.map