import type { FederationRuntimePlugin } from '../types/module-federation.types.mjs';
/**
 * Keep this runtime logic aligned with the Vite runtime plugin at
 * `libs/vite-plugin-zephyr/src/lib/internal/mf-vite-etl/runtime_plugin.mjs`.
 *
 * We intentionally duplicate logic in both plugins for now. Once zephyr-agent supports
 * ESM runtime exports, we can move to a shared runtime implementation.
 */
/** Options for basic runtime plugin */
export interface ZephyrRuntimePluginOptions {
    /** Custom manifest URL (defaults to the deployment's `zephyr-manifest.json`) */
    manifestUrl?: string;
}
/**
 * Resolves the URL of the deployment's `zephyr-manifest.json`.
 *
 * The manifest is emitted at the deployment root, which is not necessarily the origin
 * root: the same artifact can be re-served under a subpath (a CDN mounting it on
 * `/activate/`, say), and the entry chunk itself may be nested (rsbuild emits under
 * `static/js/`), so the script's own directory is not a usable base either.
 */
export declare function resolveManifestUrl(scriptUrl?: string): string;
/**
 * Basic Zephyr Runtime Plugin (no OTA features) Suitable for web applications that don't
 * need OTA updates
 *
 * Features:
 *
 * - Simple manifest fetching
 * - Remote URL resolution
 * - Session storage override support
 *
 * For mobile applications with OTA support, use createZephyrRuntimePluginMobile
 */
export declare function createZephyrRuntimePlugin(options?: ZephyrRuntimePluginOptions): FederationRuntimePlugin;
/** Default export for use with Module Federation runtime plugins array */
export default createZephyrRuntimePlugin;
//# sourceMappingURL=runtime-plugin.d.mts.map