/** * The shared enable/disable command factory and handler for every installable * extension type. Each route settles activation through the lifecycle feature, * previews or applies it, and renders the outcome. * * Whatever the outcome, the next step a reader is offered starts with the * type's own inspection command from the presentation table: after a change, * beside a no-op that named nothing to change, and on a refusal that found * the named subject missing. * * @experimental This API is unstable and may change without notice. */ import * as Effect from "effect/Effect"; import { Command } from "effect/cli"; import type { InstallableExtensionType } from "@agentxm/extension-model/unstable/extensions/installable-types"; import { AppError } from "../app-error/index.js"; export interface ActivationRequest { readonly name: string; readonly enabled: boolean; readonly preview: boolean; } export declare const handleActivation: (type: InstallableExtensionType, request: ActivationRequest) => Effect.Effect; export declare const makeActivationCommands: (type: InstallableExtensionType) => { enableCommand: Command.Command<"enable" | "disable", { readonly name: string; readonly scope: "user" | "project"; readonly preview: boolean; readonly ignoreReleaseAge: boolean; }, {}, AppError | import("../screen/streams.ts").OutputWriteFailed, import("effect/FileSystem").FileSystem | import("effect/Path").Path | "effect/cli/GlobalFlag/axm-non-interactive" | "effect/cli/GlobalFlag/axm-json" | "effect/cli/GlobalFlag/axm-quiet" | "effect/cli/GlobalFlag/axm-verbose" | "effect/cli/GlobalFlag/axm-debug" | import("../telemetry/client.ts").TelemetryClient | import("@agentxm/registry-access/authentication").DeviceLoginInteraction | "effect/cli/GlobalFlag/axm-directory">; disableCommand: Command.Command<"enable" | "disable", { readonly name: string; readonly scope: "user" | "project"; readonly preview: boolean; readonly ignoreReleaseAge: boolean; }, {}, AppError | import("../screen/streams.ts").OutputWriteFailed, import("effect/FileSystem").FileSystem | import("effect/Path").Path | "effect/cli/GlobalFlag/axm-non-interactive" | "effect/cli/GlobalFlag/axm-json" | "effect/cli/GlobalFlag/axm-quiet" | "effect/cli/GlobalFlag/axm-verbose" | "effect/cli/GlobalFlag/axm-debug" | import("../telemetry/client.ts").TelemetryClient | import("@agentxm/registry-access/authentication").DeviceLoginInteraction | "effect/cli/GlobalFlag/axm-directory">; }; //# sourceMappingURL=activation-handler.d.ts.map