/** * Import Resolver * * Builds import paths for selectors, models, and related modules. */ import { FrontendRelationship, ImportStatements, FrontendTemplateData } from "../types/template-data.interface"; /** * Build all import statements needed for a module * * @param relationships - Array of frontend relationships * @param extendsContent - Whether the module extends Content * @returns Import statements grouped by category */ export declare function buildImportStatements(relationships: FrontendRelationship[], extendsContent: boolean): ImportStatements; /** * Build model/interface import statements * * @param relationships - Array of frontend relationships * @returns Array of import statements for models */ export declare function buildModelImports(relationships: FrontendRelationship[]): string[]; /** * Build selector component import statements * * @param relationships - Array of frontend relationships * @returns Array of import statements for selectors */ export declare function buildSelectorImports(relationships: FrontendRelationship[]): string[]; /** * Build library import statements * * @param extendsContent - Whether the module extends Content * @returns Array of import statements for library */ export declare function buildLibraryImports(extendsContent: boolean): string[]; /** * Build import path for a module's own files * * @param targetDir - Target directory * @param moduleName - Module name (PascalCase) * @param fileName - File name without extension * @returns Import path */ export declare function buildModuleImportPath(targetDir: string, moduleName: string, fileName: string): string; /** * Build import path for a related module's selector * * @param rel - Frontend relationship * @returns Import path for selector */ export declare function buildSelectorImportPath(rel: FrontendRelationship): string; /** * Get the web base path for generated files * * @param targetDir - Target directory (e.g., "features/customer-management" or "features") * @param moduleName - Module name (PascalCase) * @returns Base path for generated files */ export declare function getWebBasePath(targetDir: string, moduleName: string): string; /** * Get the page path for generated pages * * @param pluralKebab - Plural kebab-case name (e.g., "comments") * @returns Base path for page files */ export declare function getPageBasePath(pluralKebab: string): string; /** * File paths interface */ export interface ModuleFilePaths { interface: string; model: string; service: string; fields: string; aliases: string; editor: string; deleter: string; selector: string; multiSelector: string; list: string; content: string; container: string; listContainer: string; context: string; tableHook: string; module: string; listPage: string; detailPage: string; } /** * Build all file paths for a module from template data * * @param data - Frontend template data * @param rootPath - Root path for the monorepo (optional, defaults to "") * @returns Object with all file paths */ export declare function buildFilePaths(data: FrontendTemplateData, rootPath?: string): ModuleFilePaths; /** * Build relative import path between two files * * @param fromPath - Source file path * @param toPath - Target file path * @returns Relative import path */ export declare function buildRelativeImport(fromPath: string, toPath: string): string; //# sourceMappingURL=import-resolver.d.ts.map