export default WaterSystem;
declare class WaterSystem extends System<any, any, any, any, any> {
    /**
     *
     * @param {GraphicsEngine} graphics
     * @constructor
     */
    constructor(graphics: GraphicsEngine);
    dependencies: (typeof Water)[];
    /**
     * @readonly
     * @type {BVH}
     */
    readonly bvh: BVH;
    cleaup: any[];
    /**
     *
     * @type {Water[]}
     */
    updateQueue: Water[];
    /**
     *
     * @type {number}
     * @private
     */
    private __time_delta;
    graphicsEngine: GraphicsEngine;
    /**
     *
     * @type {RenderLayer|null}
     */
    renderLayer: RenderLayer | null;
    shutdown(entityManager: any, readyCallback: any, errorCallback: any): void;
    startup(entityManager: any, readyCallback: any, errorCallback: any): void;
    /**
     *
     * @param {Water} component
     * @param {number} entity
     */
    link(component: Water, entity: number): void;
    /**
     *
     * @param {Water} component
     * @param {number} entity
     */
    unlink(component: Water, entity: number): void;
    processUpdateQueue(): void;
    /**
     *
     * @param {Water} component
     * @param {number} entity
     * @private
     */
    private __visit_component;
    update(timeDelta: any): void;
}
declare namespace WaterSystem {
    let RENDER_LAYER_NAME: string;
}
import { System } from '../../../ecs/System.js';
import Water from './Water.js';
import { BVH } from "../../../../core/bvh2/bvh3/BVH.js";
//# sourceMappingURL=WaterSystem.d.ts.map