/** * UI18n Feature Flag System * Manages progressive feature discovery and activation */ export interface FeatureConfig { basicTranslation: boolean; phraseLibrary: boolean; versionControl: boolean; cloudSync: boolean; manualReview: boolean; plugins: boolean; teamCollaboration: boolean; advancedAnalytics: boolean; } export interface FeatureMetadata { name: string; description: string; dependencies: string[]; requiredDirectories: string[]; configurationKeys: string[]; minimumVersion: string; beta?: boolean; } export interface ProjectFeatureState { features: Partial; enabledAt: Record; lastUpdated: string; version: string; } export declare class FeatureFlagManager { private projectPath; private currentState; constructor(projectPath: string); /** * Feature definitions with metadata */ private static readonly FEATURE_REGISTRY; /** * Load current feature state from project */ private loadState; /** * Save current state to disk */ private saveState; /** * Check if a feature is currently enabled */ isEnabled(feature: keyof FeatureConfig): boolean; /** * Get metadata for a feature */ getFeatureMetadata(feature: keyof FeatureConfig): FeatureMetadata; /** * Get all available features with their current status */ getAllFeatures(): Array; /** * Activate a specific feature with dependency checking */ activateFeature(feature: keyof FeatureConfig): Promise<{ success: boolean; message: string; createdDirectories?: string[]; error?: string; }>; /** * Disable a feature with dependency checking */ disableFeature(feature: keyof FeatureConfig): Promise<{ success: boolean; message: string; error?: string; }>; /** * Get features that can be safely enabled (dependencies satisfied) */ getAvailableFeatures(): Array; /** * Migrate existing project to feature flag system */ migrateExistingProject(): Promise<{ success: boolean; message: string; enabledFeatures?: string[]; error?: string; }>; /** * Check if a feature is currently active */ isFeatureActive(feature: keyof FeatureConfig): boolean; /** * Check if a feature can be activated (meets dependencies) */ canActivateFeature(feature: keyof FeatureConfig): boolean; } export declare function promptFeatureActivation(manager: FeatureFlagManager, feature: keyof FeatureConfig, context: string): Promise; //# sourceMappingURL=feature-flags.d.ts.map