import type { EcoBuildPlugin } from './contracts/build-types.js'; import type { AppBuildManifest } from './contracts/build-manifest.js'; import type { EcoPagesAppConfig } from '../types/internal-types.js'; /** * Collects integration and processor contributions before the app build manifest is sealed. * * @remarks * Called from {@link ConfigBuilder.build} via {@link updateAppBuildManifest}. Walks * processors first, then integrations, invoking {@link Processor.prepareBuildContributions} * and {@link IntegrationPlugin.prepareBuildContributions} so dynamic plugin lists can be * materialized before sealing. * * Maps contributor getters to manifest buckets: * - `processor.plugins` / `integration.plugins` → `runtimePlugins` * - `processor.buildPlugins` / `integration.browserBuildPlugins` → `browserBundlePlugins` * - `integration.browserRuntimeManifest` → merged `browserRuntimeManifest` * * Loaders are not collected here; {@link createConfiguredAppBuildManifest} always takes * them from `appConfig.loaders`. */ export declare function collectConfiguredAppBuildManifestContributions(appConfig: EcoPagesAppConfig): Promise>; export declare function setupAppRuntimePlugins(options: { appConfig: EcoPagesAppConfig; runtimeOrigin: string; onRuntimePlugin?: (plugin: EcoBuildPlugin) => void; }): Promise; /** * Activates one integration's runtime setup on first use. * * @remarks * Concurrent callers share a single in-flight promise per integration name. * Failed activations are evicted so a later caller can retry. */ export declare function ensureIntegrationRuntimeReady(options: { appConfig: EcoPagesAppConfig; integrationName: string; runtimeOrigin: string; onRuntimePlugin?: (plugin: EcoBuildPlugin) => void; }): Promise;