UNPKG

revit-cli

Version:

A scalable CLI tool for Revit communication and data manipulation

92 lines 2.67 kB
import { AxiosRequestConfig } from 'axios'; import { RevitApiResponse, RevitElement, ExtractionOptions } from '../types'; import { ConfigManager } from './config-manager'; /** * Handles communication with Revit API */ export declare class RevitConnector { private client; private logger; private isConnected; constructor(); /** * Setup request/response interceptors for logging and error handling */ private setupInterceptors; /** * Initialize the connector with configuration */ initialize(configManager: ConfigManager): Promise<void>; /** * Test connection to Revit API */ testConnection(): Promise<boolean>; /** * Get Revit project information */ getProjectInfo(): Promise<RevitApiResponse>; /** * Extract elements from Revit based on options */ extractElements(options: ExtractionOptions): Promise<RevitApiResponse<RevitElement[]>>; /** * Get elements by category */ getElementsByCategory(category: string): Promise<RevitApiResponse<RevitElement[]>>; /** * Get element by ID */ getElementById(elementId: string): Promise<RevitApiResponse<RevitElement>>; /** * Get all available categories */ getCategories(): Promise<RevitApiResponse<any[]>>; /** * Get parameters for a specific category */ getCategoryParameters(category: string): Promise<RevitApiResponse<string[]>>; /** * Execute a custom Revit API command */ executeCommand(command: string, parameters?: Record<string, any>): Promise<RevitApiResponse>; /** * Export data in specified format */ exportData(data: any, format?: 'json' | 'csv' | 'xml'): Promise<RevitApiResponse<string>>; /** * Import data from file */ importData(filePath: string, format?: 'json' | 'csv' | 'xml'): Promise<RevitApiResponse>; /** * Get Revit application status */ getStatus(): Promise<RevitApiResponse>; /** * Handle API errors consistently */ private handleError; /** * Make a custom API request */ request<T = any>(config: AxiosRequestConfig): Promise<RevitApiResponse<T>>; /** * Check if connector is connected */ getConnectionStatus(): Promise<{ connected: boolean; error?: string; }>; /** * Set custom headers for API requests */ setHeaders(headers: Record<string, string>): void; /** * Set authentication token */ setAuthToken(token: string): void; /** * Clear authentication */ clearAuth(): void; } //# sourceMappingURL=revit-connector.d.ts.map