import type { EcoPagesAppConfig } from '../../types/internal-types.js'; /** * App-owned dependency graph used to target browser entrypoint rebuilds. */ export interface EntrypointDependencyGraph { supportsSelectiveInvalidation(): boolean; getDependencyEntrypoints(filePath: string): Set; setEntrypointDependencies(entrypointPath: string, dependencies: string[]): void; clearEntrypointDependencies(entrypointPath: string): void; reset(): void; } /** * Graph implementation for runtimes that rebuild every watched entrypoint. */ export declare class NoopEntrypointDependencyGraph implements EntrypointDependencyGraph { supportsSelectiveInvalidation(): boolean; getDependencyEntrypoints(_filePath: string): Set; setEntrypointDependencies(_entrypointPath: string, _dependencies: string[]): void; clearEntrypointDependencies(_entrypointPath: string): void; reset(): void; } /** * In-memory entrypoint-to-dependency graph with reverse dependency lookups. */ export declare class InMemoryEntrypointDependencyGraph implements EntrypointDependencyGraph { private readonly dependencyEntrypoints; private readonly entrypointDependencies; supportsSelectiveInvalidation(): boolean; getDependencyEntrypoints(filePath: string): Set; setEntrypointDependencies(entrypointPath: string, dependencies: string[]): void; clearEntrypointDependencies(entrypointPath: string): void; reset(): void; } /** * Returns the app-owned entrypoint dependency graph. */ export declare function getAppEntrypointDependencyGraph(appConfig: EcoPagesAppConfig): EntrypointDependencyGraph; /** * Installs the dependency graph used by one app instance. */ export declare function setAppEntrypointDependencyGraph(appConfig: EcoPagesAppConfig, entrypointDependencyGraph: EntrypointDependencyGraph): void;