import type { ExtensionRuntime } from "./types.ts"; export declare function bindExtensionWork(runtime: ExtensionRuntime, owner: object): void; export declare function extensionSessionSignal(runtime: ExtensionRuntime): AbortSignal; export declare function sealExtensionWork(runtime: ExtensionRuntime): void; export declare function resumeExtensionWork(runtime: ExtensionRuntime): void; export declare function extensionWorkOpen(runtime: ExtensionRuntime): boolean; export declare function trackExtensionWork(runtime: ExtensionRuntime, operation: () => Promise): Promise; export declare function drainExtensionWork(runtime: ExtensionRuntime): Promise; /** Cleanup may inspect its retired resources, but cannot act on a successor. */ export declare function assertExtensionAction(runtime: ExtensionRuntime): void; export declare function isRetiredExtensionCleanup(runtime: ExtensionRuntime): boolean; /** Revoke capabilities without releasing resources still owned by admitted callbacks. */ export declare function revokeExtensionAuthority(runtime: ExtensionRuntime): void; export declare function runExtensionCleanup(runtime: ExtensionRuntime, operation: () => Promise): Promise; //# sourceMappingURL=extension-work.d.ts.map