import type { EcoComponent, EcoComponentConfig, EcoComponentDependencies } from '../../types/public-types.js'; import type { PageDependenciesResult } from '../../eco/eco.types.js'; /** * Attaches canonical file-backed identity to one component config. */ export declare function attachEcoFileMetadataToConfig(config: EcoComponentConfig, ownerFile: string, integrationName: string): EcoComponentConfig; /** * Builds a synthetic component config rooted at one file so direct dependency * declarations can flow through the shared component dependency collector. */ export declare function createFileScopedDependencyComponent(options: { ownerFile: string; integrationName: string; dependencies: Pick; }): Partial | undefined; /** * Expands one dependency bag into component roots understood by the shared collector. */ export declare function collectFileScopedDependencyComponents(options: { ownerFile: string; integrationName: string; dependencies: EcoComponentDependencies; }): Array>; export type CollectComponentConfigFilePathsOptions = { additionalPaths?: ReadonlyArray; includeLayouts?: boolean; }; /** * Walks component configs and collects every resolved identity file path. */ export declare function collectComponentConfigFilePaths(components: ReadonlyArray | undefined>, options?: CollectComponentConfigFilePathsOptions): Set; /** * Collects source files that should invalidate a per-instance browser graph entry. */ export declare function collectDependencyWatchPaths(ownerFile: string, components: ReadonlyArray>): string[]; /** * Separates optional owner metadata from a resolved page dependency bag. */ export declare function splitPageDependenciesResult(result: PageDependenciesResult): { dependencies: EcoComponentDependencies; ownerFile?: string; };