import type { Disposable, HostApi } from "./host-api.js"; /** * The context handed to an extension's `activate()` when the extension-host * loads it. `host` is the RPC-backed capability surface; `registerCommand` * wires a handler for a command declared in the manifest's `contributes.commands`. * * Push any Disposable you create into `subscriptions`; the host disposes them * all on `deactivate()` / unload. */ export interface ExtensionContext { host: HostApi; subscriptions: Disposable[]; registerCommand(id: string, handler: (...args: unknown[]) => unknown | Promise): Disposable; } export type ActivateFn = (context: ExtensionContext) => void | Promise; export type DeactivateFn = () => void | Promise; /** The shape the extension-host expects from an extension's `main` module. */ export interface ExtensionModule { activate: ActivateFn; deactivate?: DeactivateFn; } //# sourceMappingURL=activation.d.ts.map