import { ot as RemoteDomWidgetDefinition, s as PortalFunctionImplementation, st as RemoteDomWidgetPackageDescriptor } from "./portal-function-VhLYKC5u.cjs"; import { ComponentType } from "react"; import { RemoteDomFullscreenRequest, RemoteDomNavigationIntent, RemoteDomSerializableValue } from "@fluid-app/widget-runtime/remote-dom"; //#region src/widgets/remote/host/capabilities/remote-dom-capability-host.d.ts type RemoteDomCapabilityMode = "live" | "unavailable"; //#endregion //#region src/widgets/remote/host/build-widget-registry.d.ts declare function buildNavigateHandler(optionHandler: ((intent: RemoteDomNavigationIntent) => void) | undefined, navigation: { navigate: (slug: string) => void; } | null): ((intent: RemoteDomNavigationIntent) => void) | undefined; type SdkWidgetRegistry = Record>; interface RemoteDomWidgetRegistryOptions { readonly functions?: readonly PortalFunctionImplementation[]; /** Controls whether widgets may invoke any capability. */ readonly capabilityMode?: RemoteDomCapabilityMode; readonly onNavigate?: (intent: RemoteDomNavigationIntent) => void; readonly onFullscreen?: (request: RemoteDomFullscreenRequest) => RemoteDomSerializableValue | Promise; /** @internal Fluid component stylesheets loaded into each widget shadow root. */ readonly fluidComponentCssUrls?: readonly string[]; } type WidgetRegistryWarningSink = (message: string) => void; interface AcceptedRemoteWidget { readonly remotePackage: RemoteDomWidgetPackageDescriptor; readonly widget: RemoteDomWidgetDefinition; readonly component: ComponentType>>; } interface RemoteWidgetPackageProjection { readonly registry: SdkWidgetRegistry; readonly acceptedWidgets: readonly AcceptedRemoteWidget[]; } /** * Projects canonical package descriptors into host React wrappers. The first * accepted package/widget wins; built-ins can never be replaced. */ declare function buildRemoteWidgetRegistry(baseRegistry: SdkWidgetRegistry, packages: readonly RemoteDomWidgetPackageDescriptor[], options?: RemoteDomWidgetRegistryOptions, warn?: WidgetRegistryWarningSink): SdkWidgetRegistry; /** * @internal Shared package-atomic projection for SDK-owned runtime and builder * views. This symbol is emitted through the compatibility subpath, but external * consumers should use {@link buildRemoteWidgetRegistry} instead. */ declare function projectRemoteWidgetPackages(baseRegistry: SdkWidgetRegistry, packages: readonly RemoteDomWidgetPackageDescriptor[], options?: RemoteDomWidgetRegistryOptions, warn?: WidgetRegistryWarningSink): RemoteWidgetPackageProjection; declare function isBuiltInWidgetType(widgetType: string): boolean; //#endregion export { buildRemoteWidgetRegistry as a, RemoteDomCapabilityMode as c, buildNavigateHandler as i, SdkWidgetRegistry as n, isBuiltInWidgetType as o, WidgetRegistryWarningSink as r, projectRemoteWidgetPackages as s, RemoteDomWidgetRegistryOptions as t }; //# sourceMappingURL=build-widget-registry-C7BPrtGS.d.cts.map