UNPKG

revit-cli

Version:

A scalable CLI tool for Revit communication and data manipulation

100 lines 2.84 kB
/** * Room-related type definitions for the Revit CLI * Extracted from room-commands.ts for better maintainability */ /** * Represents a room element from the Revit API */ export interface RoomData { /** Unique identifier for the room element */ id: string; /** Room name or identifier */ name: string; /** Room number assigned in Revit */ number: string; /** Level where the room is located */ level: string; /** Room area in square units */ area: number; /** Room volume in cubic units */ volume: number; /** Additional comments or description */ comments: string; /** Department or functional classification */ department: string; /** Occupancy type or classification */ occupancy: string; /** Additional room parameters as key-value pairs */ parameters: Record<string, any>; } /** * Request payload for updating a single room */ export interface UpdateRoomRequest { /** Room element ID to update */ id: string; /** Parameters to update with their new values */ parameters: Record<string, any>; } /** * Response from the Revit API after updating a room */ export interface UpdateRoomResponse { /** Indicates if the update was successful */ success: boolean; /** Updated room data */ room?: RoomData; /** Error message if update failed */ error?: string; /** Additional details about the operation */ message?: string; } /** * Options for room filtering and selection */ export interface RoomFilterOptions { /** Filter by level name */ level?: string; /** Filter by department */ department?: string; /** Filter by occupancy type */ occupancy?: string; /** Filter by room name pattern */ namePattern?: string; /** Filter by room number pattern */ numberPattern?: string; /** Minimum area threshold */ minArea?: number; /** Maximum area threshold */ maxArea?: number; } /** * Parameters for bulk room updates */ export interface BulkUpdateOptions { /** Filter criteria to select rooms for update */ filter: RoomFilterOptions; /** Parameters to update on selected rooms */ parameters: Record<string, any>; /** Whether to perform a dry run without actual updates */ dryRun?: boolean; } /** * Result of a bulk update operation */ export interface BulkUpdateResult { /** Total number of rooms processed */ totalProcessed: number; /** Number of successfully updated rooms */ successCount: number; /** Number of failed updates */ failureCount: number; /** List of rooms that were updated */ updatedRooms: RoomData[]; /** List of errors encountered during updates */ errors: Array<{ roomId: string; error: string; }>; } //# sourceMappingURL=room-types.d.ts.map