import { FORM_MODE, PartitionNode, PolygonData, WallPolyData, IObjectData } from "../../../../types"; export declare function renderRoomFormPane(): HTMLDivElement; /** * Toggles the state of the partition drawing functionality. * If drawing is not active, it starts the drawing process. * Otherwise, it cancels the current drawing, updates partition data, * and displays the relevant UI elements for partitions. */ export declare function toggleDrawPartitionButton(): void; export declare function toggleDrawWindowButton(): void; /** * Displays the partition form based on the current form mode. * Handles different UI behaviors for edit and add modes. */ export declare function displayPartitionFormMode(): void; /** * Handles the click event for partition row edit buttons. Updates the UI to show * face editing mode, loads the selected partition data, and sets up the partition * for modification. * * This function: * - Toggles UI visibility (hides partition list, shows face list and edit controls) * - Extracts partition ID from the clicked element * - Loads and displays the partition's face data * - Sets up the partition name input field * - Initializes the partition for modification mode * * @param partitions - The list of partitions to search through for the selected partition * @param event - The click event from the edit button, used to identify which partition to edit */ export declare function handlePartitionRowEditBtnClickEvent(partitions: Array, targetElement: HTMLElement): void; export declare function displayWall(wall: WallPolyData): HTMLElement; export declare function setDrawConfig(drawMode: 'window' | 'partition'): void; /** * Clears the partition form by resetting UI elements and internal data. * - Navigates back to the partition list view. * - Cancels any ongoing drawing actions. * - Hides relevant UI elements like wall height, delete button, and partition container. * - Resets the form and clears data related to the current partition, room, and polygon. */ export declare function clearPartitionForm(): void; /** * Retrieves the form data for creating or editing a room partition. * - Collects values from form inputs (name, floor level, memo). * - Constructs a payload object containing the room data, including the space UUID and polygon data. * - Updates the polygon data for each partition in the currentPartitionDataArray to reflect the new floor level. * - If there is existing room data (currentEditRoomData), it returns that data with updated values. * * @returns {PartitionNode} The room data object with partition and floor details. */ export declare function getPartitionFormData(): PartitionNode; /** * Sets the saving mode for the partition form. * - If saving is enabled, `isSaving` is set to true, indicating that the form is in saving mode. * - If saving is disabled, `isSaving` is set to false. * * @param {boolean} savingEnabled - True to enable saving mode, false to disable. */ export declare function setPartitionSavingMode(savingEnabled: boolean): void; /** * Gets the current saving mode for the partition form. * * @returns {boolean} - Returns true if saving mode is enabled, false otherwise. */ export declare function getPartitionSavingMode(): boolean; /** * Sets the form mode for the partition form. * - The form mode can be one of the predefined FORM_MODE values (e.g., CREATE, EDIT, etc.). * * @param {FORM_MODE} formType - The type of form mode to set. */ export declare function setPartitionFormMode(formType: FORM_MODE): void; /** * Gets the current form mode for the partition form. * * @returns {FORM_MODE} - The current form mode. */ export declare function getPartitionFormMode(): FORM_MODE; /** * Returns a temporary copy of the current polygon. * * @returns */ export declare function getTempCurrentPolygon(): IObjectData; /** *Clears the temporary current polygon * */ export declare function clearTempCurrentPolygon(): void; /** * Sets the polygon data for the current partition, including rounding numeric values * to two decimal places and assigning UUIDs to the floor and walls. * * @param {PolygonData} payload - The polygon data to set, including floor and walls. */ export declare function setPolygonData(payload: PolygonData): void; /** * Returns current polygon data * @returns {PolygonData} currentPolygonData */ export declare function getCurrentPolygonData(): PolygonData; /** * Sets the partition data, including updating the floor level and generating a new * partition with its corresponding UUID, space UUID, and polygon data. */ export declare function setCurrentPartitionData(payload: PolygonData | undefined): Promise; export declare function removeWindow(index?: number): void; export declare function toggleUndoRedoButtons(undo: boolean, redo: boolean): void; export declare function getCurrentPartitionData(): PartitionNode; export declare function getNewlyAddedPartition(): Array; export declare function getDeletedSavedPartitionArray(): Array; export declare function getIsDrawing(): boolean; export declare function getDrawingMode(): string; export declare function setDrawingMode(state: boolean): void; export declare function getCurrentPartitionDataArray(): PartitionNode[]; export declare function getPreviousPartitionData(): PartitionNode; export declare function setPreviousPartitionData(payload: PartitionNode): void; /** * Handles the partition wall edit button click by switching to wall editing mode and updating the UI. * @param wallUuid - The unique identifier of the wall to edit */ export declare function handlePartitionWallEditBtn(wallUuid: string): Promise; export declare function getTempCurrentRoomEditData(): Array; export declare function setTempCurrentRoomEditData(roomEditData: Array): void; export declare function getCurrentWall(): WallPolyData; export declare function getIsEditWindow(): boolean; export declare function setIsEditWindow(value: boolean): void; export declare function setCurrentEditWindowIndex(value: number): void;