import { Vec3 } from '@hiberworld/code-kit';
import { IRoomOptions, WallTypes } from '.';
export type RoomType = 'OPEN' | 'CLOSED' | 'DOORS' | 'WINDOWS' | 'CONNECTED';
export interface IRoomsOnFloorOptions {
    coords: Vec3;
    wallTypes?: WallTypes[];
    roomType?: RoomType;
}
export interface IFloorOptions extends Omit<Partial<IRoomOptions>, 'wallTypes'> {
    rooms: IRoomsOnFloorOptions[];
}
/**
 * Returns a house complex. Good for creating multiple rooms.
 * @example
 * ```
const floor = getComplex({
  p: [0, 0.1, 10],
  dim: 5,
  height: 5,
  rooms: [
    { coords: [0, 0, 0], wallTypes: ['PLAIN', 'PLAIN', 'DOOR', 'NONE'] }, // Define wall types
    { coords: [1, 0, 0], roomType: 'CONNECTED' }, // Or randomize them using roomType
    { coords: [1, 0, 1], roomType: 'OPEN' },
    { coords: [1, 0, 2], roomType: 'CONNECTED' },
    { coords: [2, 0, 2], roomType: 'WINDOWS' },
    { coords: [2, 0, 0], roomType: 'CONNECTED' },
  ],
});
addTo(root, floor);
 * ```
 */
export declare const getComplex: (options?: Partial<IFloorOptions>) => import("@hiberworld/code-kit").HNode;
//# sourceMappingURL=getComplex.d.ts.map