export class MarkerNodeActionPaintTerrain extends MarkerNodeAction {
    /**
     *
     * @param {LinearModifier} dilation
     * @param {function(number):number} border_blending
     * @param {LinearModifier} border
     * @param {CellFilter} weight
     * @param {TerrainLayerDescription} layer
     * @returns {MarkerNodeActionPaintTerrain}
     */
    static from({ dilation, border_blending, border, weight, layer }: LinearModifier): MarkerNodeActionPaintTerrain;
    /**
     *
     * @CellFilter
     */
    weight: CellFilterLiteralFloat;
    /**
     * What to paint
     * @type {TerrainLayerDescription}
     */
    layer: TerrainLayerDescription;
    /**
     * Actual layer index, will be taken from the terrain upon initialization
     * @type {number}
     * @private
     */
    private _layer_index;
    /**
     *
     * @type {SplatMapping}
     * @private
     */
    private _splat_map;
    /**
     *
     * @type {Terrain}
     * @private
     */
    private _terrain;
    /**
     * How far does the area extend from the marker's shape, has both % and constant component
     * Can grow or shrink the area
     * @type {LinearModifier}
     */
    dilation: LinearModifier;
    /**
     * Function to apply smoothing to the area that falls into "edge"
     * @type {function(number): number}
     */
    weight_edge_easing_function: (arg0: number) => number;
    /**
     * How wide is the edge, computed from the effective region including padding, must produce a non-negative number
     * @type {LinearModifier}
     */
    weight_edge_easing: LinearModifier;
    /**
     *
     * @type {function():number}
     * @private
     */
    private _random;
    /**
     *
     * @param {number} x
     * @param {number} y
     * @param {MarkerNode} node
     * @param {GridData} grid
     * @param {number} radius_outer
     * @param {number} radius_inner
     * @returns {number}
     * @private
     */
    private _getPointWeight;
    _getLayerIndex(): number;
    execute(grid: any, ecd: any, node: any): void;
    initialize(grid: any, ecd: any, seed: any): void;
}
import { MarkerNodeAction } from "../MarkerNodeAction.js";
import { CellFilterLiteralFloat } from "../../../filtering/numeric/CellFilterLiteralFloat.js";
import LinearModifier from "../../../../core/model/stat/LinearModifier.js";
//# sourceMappingURL=MarkerNodeActionPaintTerrain.d.ts.map