/** * The command shell every `axm uninstall` route shares. * * The feature settles which extensions the selector names and resolves the * removal; this module turns flags into an execution intent, typed refusals * into the error envelope, and the outcome into the report a person reads — * including the no-op wording for a selector that matched nothing. The words * a type's report and generated typed route use come from the per-type * presentation table, so the root and typed forms of one removal read the same. */ import * as Effect from "effect/Effect"; import { Command } from "effect/cli"; import { type UninstallExtensionsRequest } from "@agentxm/workspace-features/lifecycle"; import type { InstallableExtensionType } from "@agentxm/extension-model/unstable/extensions/installable-types"; export interface UninstallCommandArgs { /** Telemetry and machine-output command identity, e.g. `skills.uninstall`. */ readonly command: string; readonly request: UninstallExtensionsRequest; readonly preview: boolean; /** The command words a confirmation-recovery line reproduces. */ readonly recoveryCommand: ReadonlyArray; /** What the person typed, reproduced as the recovery line's positional. */ readonly recoveryPositionals: ReadonlyArray; } /** Run one uninstall route end to end. */ export declare const runUninstallCommand: (args: UninstallCommandArgs) => Effect.Effect; /** Generate a typed uninstall route from the same words as its result. */ export declare const makePerTypeUninstallCommand: (type: InstallableExtensionType) => Command.Command<"uninstall", { readonly name: string; readonly scope: "user" | "project"; readonly preview: boolean; }, {}, import("../../app-error/app-error.ts").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=uninstall-command.d.ts.map