import { type CabinetModuleNode, type CabinetNode, type CabinetSlotId, type GeometryContext } from '@pascal-app/core'; import { type ColorPreset, type RenderShading } from '@pascal-app/viewer'; import { BoxGeometry, ExtrudeGeometry, type Group, type Material, Mesh, MeshBasicMaterial, MeshStandardMaterial, type Object3D } from 'three'; export type CabinetGeometryNode = CabinetNode | CabinetModuleNode; export type CabinetSlotMaterials = Record; export declare function createWorldScaleBoxGeometry(width: number, height: number, depth: number): BoxGeometry; /** A single chamfer catches light without tessellating the broad panel faces. */ export declare function createCabinetPanelGeometry(width: number, height: number, depth: number): ExtrudeGeometry; export declare function getCabinetSlotMaterials(node: CabinetGeometryNode, ctx: GeometryContext | undefined, shading: RenderShading, textures: boolean, colorPreset: ColorPreset, sceneTheme: string | undefined): CabinetSlotMaterials; export declare function stampSlot(mesh: T, slotId: CabinetSlotId): T; export declare function addBox(group: Group, size: [number, number, number], position: [number, number, number], materialOrColor: Material | string, name: string, slotId?: CabinetSlotId, beveled?: boolean): Mesh, import("three").Object3DEventMap>; export declare const OVEN_OPEN_ANGLE: number; export declare const APPLIANCE_CAVITY_WALL = 0.02; export declare const applianceDisplayMaterial: MeshStandardMaterial; export declare const applianceLampMaterial: MeshStandardMaterial; export declare const microwaveScreenMaterial: MeshStandardMaterial; export declare const microwaveButtonMaterial: MeshStandardMaterial; export declare const microwaveStartButtonMaterial: MeshStandardMaterial; export declare const microwaveCancelButtonMaterial: MeshStandardMaterial; export declare const microwavePanelMaterial: MeshStandardMaterial; export declare const cooktopGlassMaterial: MeshStandardMaterial; export declare const cooktopBurnerMaterial: MeshStandardMaterial; export declare const cooktopTrimMaterial: MeshStandardMaterial; export declare const cooktopGrateMaterial: MeshStandardMaterial; export declare const cooktopInductionZoneMaterial: MeshStandardMaterial; export declare const cooktopInductionActiveZoneMaterial: MeshStandardMaterial; export declare const cooktopKnobOnMaterial: MeshStandardMaterial; export declare const cooktopKnobHitMaterial: MeshBasicMaterial; export declare const refrigeratorSilverMaterial: MeshStandardMaterial; export declare const refrigeratorBrassAccentMaterial: MeshStandardMaterial; export declare const refrigeratorDarkTrimMaterial: MeshStandardMaterial; export declare const refrigeratorSealMaterial: MeshStandardMaterial; export declare const refrigeratorLinerMaterial: MeshStandardMaterial; export declare const refrigeratorLinerAccentMaterial: MeshStandardMaterial; export declare const refrigeratorDrawerMaterial: MeshStandardMaterial; export declare const refrigeratorBinMaterial: MeshStandardMaterial; export declare const refrigeratorLightMaterial: MeshStandardMaterial; export declare const refrigeratorWaterMaterial: MeshStandardMaterial; export declare const ovenDialMaterial: MeshStandardMaterial; export declare const ovenIndicatorMaterial: MeshStandardMaterial; export declare const ovenHeatElementMaterial: MeshStandardMaterial; export declare const ovenStatusLightMaterials: MeshStandardMaterial[]; export declare function addApplianceHandle(group: Object3D, material: Material, position: [number, number, number], length: number, vertical: boolean, name: string): void; export declare function roundedButtonGeometry(width: number, height: number, depth: number, radius: number): ExtrudeGeometry; export declare function addMicrowaveDisplaySegments(group: Object3D, x: number, y: number, z: number, width: number, name: string): void; export declare function addWireRack(group: Group, materials: CabinetSlotMaterials, width: number, depth: number, y: number, zCenter: number, name: string, railHeight?: number): void; //# sourceMappingURL=shared.d.ts.map