import { Material, Prefab } from '@hiberworld/code-kit';
import { IDefaultOptions } from './types';
import { WallTypes } from './getWall';
/**
 *
 * Returns a room.
 * Walls are created using [getSlice3](docs/modules/getSlice3.md) and [getWall](docs/modules/getWall.md)
 * @example
 * ```
  const room = getRoom({
    p: [0, 0, 5],
    wallTypes: [''DOOR', ''WINDOW', ''DOOR', ''PLAIN'],
  });
  addTo(root, room);

  // Or

  const room = getRoom({
    p: [0, 0.3, 5],
    wallTypes: [''DOOR', ''WINDOW', ''DOOR', ''WINDOW'],
    wallThickness: 0.7,
    doorWidth: 3,
    doorHeight: 5,
    windowHeight: 3,
    windowWidth: 6,
    height: 10,
    width: 10,
    depth: 10,
    wallMaterial: 'palette_02_teal',
  });
  addTo(root, room);

 * ```
 */
export interface IRoomOptions extends IDefaultOptions {
    height: number;
    dim: number;
    floorThickness: number;
    roof: boolean;
    wallThickness: number;
    doorWidth: number;
    doorHeight: number;
    windowWidth: number;
    windowHeight: number;
    windowUp: number;
    wallPrefab: Prefab;
    wallMaterial: Material;
    floorPrefab: Prefab;
    floorMaterial: Material;
    wallTypes: WallTypes[];
}
export declare const getRoom: (opt?: Partial<IRoomOptions>) => import("@hiberworld/code-kit").HNode;
//# sourceMappingURL=getRoom.d.ts.map