import { Scene, Box3, ColorRepresentation } from 'three/webgpu';
import { DIVERoot } from '../../components/root/Root.ts';
import { DIVEGrid } from '../../components/grid/Grid.ts';
export type DIVESceneSettings = {
    /**
     * Whether to add a floor to the scene.
     *
     * @default false
     */
    displayFloor: boolean;
    /**
     * Whether to add a grid to the scene.
     *
     * @default false
     */
    displayGrid: boolean;
    /**
     * Distance between minor grid lines in meters.
     *
     * @default 1
     */
    gridSize: number;
    /**
     * Draw a thicker major line every N cells.
     *
     * @default 5
     */
    gridMajorLineEvery: number;
    /**
     * The background color of the scene.
     *
     * @default transparent
     */
    backgroundColor: ColorRepresentation;
};
export declare const DIVESceneDefaultSettings: Required<DIVESceneSettings>;
/**
 * A basic scene class.
 *
 * Comes with a root object that contains all the scene objects.
 *
 * @module
 */
export declare class DIVEScene extends Scene {
    readonly isDIVEScene: true;
    private _settings;
    private _root;
    private _grid;
    constructor(settings?: Partial<DIVESceneSettings>);
    get root(): DIVERoot;
    get grid(): DIVEGrid;
    setBackground(value: ColorRepresentation): void;
    computeSceneBB(): Box3;
    dispose(): void;
}
