import { UniFiClient } from './client.js'; import { FeatureCapabilities, ToolAvailability } from '../server/types.js'; /** * Version Detection and Feature Capability Management * * Automatically detects UniFi controller version and hardware capabilities * to determine available features and tool compatibility. */ export declare class VersionDetector { private client; private logger; private cachedCapabilities; private cacheTimestamp; private readonly cacheValidityMinutes; constructor(client: UniFiClient); /** * Detect UniFi controller version and capabilities */ detectCapabilities(): Promise; /** * Analyze system information to determine capabilities */ private analyzeCapabilities; /** * Check if Zone-Based Firewall is supported */ private checkZBFSupport; /** * Check if legacy firewall is supported */ private checkLegacyFirewallSupport; /** * Get endpoint availability based on version */ private getEndpointAvailability; /** * Analyze hardware-specific capabilities */ private analyzeHardwareCapabilities; /** * Get tool availability based on current capabilities */ getToolAvailability(): Promise; /** * Mark tools as unavailable with reason */ private markToolsUnavailable; /** * Validate if a specific feature is available */ validateFeature(feature: string): Promise; /** * Validate hardware compatibility for a feature */ validateHardwareCompatibility(feature: string): Promise; /** * Check if cache is still valid */ private isCacheValid; /** * Normalize version string */ private normalizeVersion; /** * Check if version meets minimum requirement */ private isVersionAtLeast; /** * Check if hardware model is compatible */ private isHardwareModelCompatible; /** * Check if gateway is advanced model */ private isAdvancedGateway; /** * Check if gateway is pro model */ private isProGateway; /** * Clear capability cache */ clearCache(): void; /** * Get cached capabilities without detection */ getCachedCapabilities(): FeatureCapabilities | null; /** * Force capability detection (bypass cache) */ forceDetection(): Promise; } //# sourceMappingURL=versionDetector.d.ts.map