import { type EventBus } from "../event-bus.js"; import { type ResourceLoaderInheritanceSnapshotProvider, type WorkflowResourceProviderInput } from "./loader-resources.ts"; import type { Extension, ExtensionAPI, ExtensionRuntime } from "./types.ts"; /** Factory receipts must not include selected siblings sharing the runtime. */ export declare function drainExtensionAPIWork(extension: Extension): Promise; export declare function sealExtensionAPI(extension: Extension): boolean; /** Seal one unadopted factory without sealing its selected siblings' runtime. */ export declare function runExtensionAPICleanup(extension: Extension, operation: () => Promise): Promise; /** Retire one factory without invalidating a runtime shared with selected factories. */ export declare function retireExtensionAPI(extension: Extension): void; /** * Create the ExtensionAPI for an extension. * Registration methods write to the extension object. * Action methods delegate to the shared runtime. */ export declare function createExtensionAPI(extension: Extension, runtime: ExtensionRuntime, cwd: string, eventBus: EventBus, workflowResourceProvider?: WorkflowResourceProviderInput, resourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider): { api: ExtensionAPI; commit: () => void; discard: () => void; }; //# sourceMappingURL=loader-api.d.ts.map