/** * Foundation package name constant */ export declare const FOUNDATION_PACKAGE = "@carlonicora/nestjs-neo4jsonapi"; /** * Check if a directory represents a foundation import (from the package) * * @param directory - The directory string from relationship definition * @returns True if this should import from the foundation package * * @example * isFoundationImport("@foundation") // true * isFoundationImport("features/campaign") // false */ export declare function isFoundationImport(directory: string): boolean; /** * Check if a related entity uses the NEW structure (Descriptor pattern) * * IMPORTANT: As of the circular dependency fix, we ALWAYS generate .meta.ts files * for all entities. This means all entities now use the OLD structure (meta pattern) * to avoid circular imports between entities that reference each other. * * @param params - Directory and module name of the related entity * @returns Always false - all entities now use meta pattern * * @deprecated This function now always returns false. All entities use meta pattern. */ export declare function isNewEntityStructure(params: { directory: string; moduleName: string; }): boolean; /** * Get the model reference string for a relationship * * @param params - Entity name and structure type * @returns Model reference string for use in relationship definition * * @example * getModelReference({ isNewStructure: false, entityName: "User", variantName: "owner" }) * // Returns: "ownerMeta" * * getModelReference({ isNewStructure: true, entityName: "Character" }) * // Returns: "CharacterDescriptor.model" */ export declare function getModelReference(params: { isNewStructure: boolean; entityName: string; variantName?: string; aliasName?: string; }): string; /** * Get the Descriptor name for NEW structure entities * * @param entityName - PascalCase entity name * @returns Descriptor name (e.g., "CharacterDescriptor") */ export declare function getDescriptorName(entityName: string): string; /** * Resolve relative import path between two modules * * @param params - From and to directories and modules * @returns Relative import path * * @example * From: src/features/comment * To: src/foundations/user * Result: "../../foundations/user" */ export declare function resolveImportPath(params: { fromDir: string; fromModule: string; toDir: string; toModule: string; }): string; /** * Resolve import path for entity file * * @param params - From and to module info * @returns Import path to entity file * * @example * resolveEntityImportPath({ fromDir: "features", fromModule: "comment", toDir: "foundations", toModule: "user" }) * // Returns: "../../foundations/user/entities/user.entity" */ export declare function resolveEntityImportPath(params: { fromDir: string; fromModule: string; toDir: string; toModule: string; }): string; /** * Resolve import path for meta file * Note: Controller files are in a controllers/ subdirectory, so we need extra ../ to get out first * * @param params - From and to module info * @returns Import path to meta file * * @example * resolveMetaImportPath({ fromDir: "features", fromModule: "comment", toDir: "foundations", toModule: "user" }) * // Returns: "../../../foundations/user/entities/user.meta" (from comment/controllers/ to user/entities/) */ export declare function resolveMetaImportPath(params: { fromDir: string; fromModule: string; toDir: string; toModule: string; }): string; /** * Resolve import path for DTO file * Note: DTO files are in a dtos/ subdirectory, so we need extra ../ to get out first * * @param params - From and to module info * @returns Import path to DTO file * * @example * resolveDtoImportPath({ fromDir: "features", fromModule: "comment", toDir: "features", toModule: "discussion" }) * // Returns: "../../discussion/dtos/discussion.dto" (from comment/dtos/ to discussion/dtos/) */ export declare function resolveDtoImportPath(params: { fromDir: string; fromModule: string; toDir: string; toModule: string; }): string; /** * Resolve import path relative to module root * Used for imports within the same module * * @param subpath - Subpath within module (e.g., "entities/comment", "services/comment.service") * @returns Relative import path * * @example * resolveModuleInternalPath("entities/comment") * // Returns: "../entities/comment" */ export declare function resolveModuleInternalPath(subpath: string): string; /** * Resolve import path for NEW structure entity file * NEW structure uses absolute paths from src and no .entity suffix * * @param params - Directory and module info * @returns Absolute import path for entity (e.g., "src/features/character/entities/character") * * @example * resolveNewEntityImportPath({ directory: "features", moduleName: "character" }) * // Returns: "src/features/character/entities/character" */ export declare function resolveNewEntityImportPath(params: { directory: string; moduleName: string; }): string; /** * Resolve import path for NEW structure DTO file * * @param params - Directory and module info * @returns Absolute import path for DTO (e.g., "src/features/character/dtos/character.dto") */ export declare function resolveNewDtoImportPath(params: { directory: string; moduleName: string; }): string; //# sourceMappingURL=import-resolver.d.ts.map