/** * UI18n Directory Manager * Handles on-demand directory creation and management */ import { FeatureFlagManager } from './feature-flags'; export interface DirectoryTemplate { name: string; structure: DirectoryNode; permissions?: string; initialFiles?: Array<{ path: string; content: string | (() => string); encoding?: BufferEncoding; }>; } export interface DirectoryNode { type: 'directory' | 'file'; name: string; children?: DirectoryNode[]; content?: string | (() => string); permissions?: string; optional?: boolean; } export declare class DirectoryManager { private projectPath; private featureManager; constructor(projectPath: string, featureManager?: FeatureFlagManager); /** * Directory templates for different features */ private static readonly DIRECTORY_TEMPLATES; /** * Create directory structure from template */ createFromTemplate(templateName: string): Promise<{ success: boolean; message: string; createdPaths?: string[]; error?: string; }>; /** * Recursively create directory structure from node */ private createDirectoryNode; /** * Initialize project with minimal structure */ initializeProject(template?: 'personal' | 'team' | 'enterprise'): Promise<{ success: boolean; message: string; enabledFeatures?: string[]; createdPaths?: string[]; error?: string; }>; /** * Clean up empty directories */ cleanupEmptyDirectories(): Promise<{ success: boolean; message: string; removedPaths?: string[]; error?: string; }>; /** * Recursively remove empty directories */ private removeEmptyDirectoriesRecursive; /** * Verify directory structure integrity */ verifyStructure(): Promise<{ success: boolean; message: string; issues?: Array<{ type: 'missing' | 'corrupted' | 'permission'; path: string; description: string; }>; error?: string; }>; } //# sourceMappingURL=directory-manager.d.ts.map