import type { IntegrationPlugin } from '../../plugins/integration-plugin.js'; import type { Processor } from '../../plugins/processor.js'; import type { EcoPagesAppConfig } from '../../types/internal-types.js'; /** * Optional contributor surface for build-time cache invalidation. * * @remarks * Processors and integrations may override {@link didChange} to report that * their build inputs changed independently of route source files. */ export interface BuildInputChangeContributor { /** * Returns `true` when this contributor's build inputs changed since the last * persisted incremental build metadata was written. */ didChange?(): boolean; } /** Returns whether a processor or integration signals changed build inputs. */ export declare function didBuildInputContributorChange(contributor: BuildInputChangeContributor): boolean; /** Hashes the app's eco.config.ts file when present. */ export declare function hashAppConfigFile(appConfig: EcoPagesAppConfig): string; /** Fingerprints processor/integration build-input state for cache invalidation. */ export declare function createBuildInputsFingerprint(appConfig: EcoPagesAppConfig): string; /** Returns true when any processor or integration reports changed build inputs. */ export declare function haveBuildInputsChanged(appConfig: EcoPagesAppConfig): boolean; /** Collects every processor and integration that can invalidate incremental builds. */ export declare function collectBuildInputContributors(appConfig: EcoPagesAppConfig): BuildInputChangeContributor[]; export type { Processor, IntegrationPlugin };