/**
 * 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 (features or foundations)
 * @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;
    editor: string;
    deleter: string;
    selector: string;
    multiSelector: string;
    list: string;
    details: 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