import { ResolvedTemplate, ResolvedFile, ProcessedFile, CombinoConfig } from './types.js'; import { PluginManager } from './types.js'; export declare class FileProcessor { private configFileName; private combinedMergeConfig; constructor(configFileName?: string); /** * Combines merge configurations from all templates in topological order * First global config, then local configs in the order of resolvedTemplates */ private combineMergeConfigs; getTemplateFiles(templatePath: string, config?: CombinoConfig, data?: Record): Promise; /** * Resolve a pattern for comparison by applying conditional logic * This is used to match exclusion patterns with actual file paths */ private resolvePatternForComparison; /** * Resolve a file path for comparison by applying conditional logic * This is used to match actual file paths with exclusion patterns */ private resolveFilePathForComparison; /** * Check if a file should be excluded due to underscore prefix * Files and folders starting with _ are excluded unless explicitly included via local config */ private shouldExcludeUnderscoreFile; /** * Check if a file path matches an include source pattern */ private pathMatchesInclude; /** * Normalize include array to handle both string and object formats */ private normalizeIncludeArray; /** * Remove underscore prefix from file path * Converts _package.json to package.json, _components/Button.tsx to components/Button.tsx, etc. */ private removeUnderscorePrefix; /** * Check if a file should have its tilde prefix removed. * Files starting with ~ are excluded until processed. */ private shouldRemoveTildePrefix; compileFiles(templates: ResolvedTemplate[], data: Record, pluginManager: PluginManager, globalConfig?: CombinoConfig): Promise; assembleFiles(mergedFiles: ProcessedFile[], data: Record, pluginManager: PluginManager): Promise; applyConditionalLogic(path: string, data: Record): string | null; private isConditionalExpression; private evaluateCondition; private evaluateExpression; private getMergeStrategy; private matchesPattern; }