import { BosConfig } from "./types.mjs";
import { IntegrityRegistry } from "./integrity.mjs";
import { createInstance } from "@module-federation/enhanced/runtime";
//#region src/mf.d.ts
type FederationInstance = ReturnType<typeof createInstance>;
declare function patchManifestFetchForSsrPublicPath(mf: FederationInstance): void;
declare function installIntegrityFetchHook(mf: FederationInstance, registry: IntegrityRegistry, options?: {
  cacheDir?: string;
}): void;
declare function getFederationInstance(): FederationInstance;
declare function registerRemote(opts: {
  name: string;
  entry: string;
  type?: "manifest" | "script";
}): Promise<void>;
declare function loadRemoteModule<T>(specifier: string, options?: {
  loadFactory?: boolean;
  from?: "build" | "runtime";
}): Promise<T>;
declare function ensureNodeRuntimePlugin(): Promise<void>;
interface FederationCompatRemote {
  role: string;
  url: string;
  reachable: boolean;
  pluginVersion: string | null;
  ok: boolean;
  reason?: string;
}
interface FederationCompatReport {
  ok: boolean;
  hostVersion: string | null;
  hostReachable: boolean;
  hostReason?: string;
  remotes: FederationCompatRemote[];
}
declare function checkFederationCompat(bosConfig: BosConfig | null, opts?: {
  timeoutMs?: number;
}): Promise<FederationCompatReport>;
declare function loadBosConfigForMfCheck(configPath: string): BosConfig;
//#endregion
export { FederationCompatRemote, FederationCompatReport, checkFederationCompat, ensureNodeRuntimePlugin, getFederationInstance, installIntegrityFetchHook, loadBosConfigForMfCheck, loadRemoteModule, patchManifestFetchForSsrPublicPath, registerRemote };
//# sourceMappingURL=mf.d.mts.map