export type MaybePromise = T | Promise; export type Disposer = () => MaybePromise; export interface LoaderEntryLike { options?: { id?: string; name?: string; config?: Record; }; fiber?: { dispose?: Disposer; }; } export interface LoaderLike { entries(): Iterable; create(options: { id: string; name: string; }): Promise; remove(id: string): Promise; } export interface PluginHandleLike { await(): Promise; dispose(): Promise; } /** DSH/Cordis 动态服务只约束本插件实际使用的最小结构。 */ export interface HostContext { fiber?: { entry?: LoaderEntryLike; }; loader: LoaderLike; get(name: string): any; effect(setup: () => unknown, label?: string): unknown; on(name: string, handler: (...args: any[]) => unknown, options?: { prepend?: boolean; }): (() => unknown) | undefined; plugin(plugin: unknown, config: Record): PluginHandleLike; } export interface PackageSnapshot { deps: Set; bundles: Set; } //# sourceMappingURL=types.d.ts.map