import type { GenerationSelection } from "../installation/generation-plan.js"; export type ExtensionRemovalReference = "plugin-selection" | "account" | "general-protocol" | "account-protocol"; export interface ExtensionRemovalConflict { type: "adapter" | "protocol" | "application"; name: string; references: ExtensionRemovalReference[]; } export interface ExtensionRemovalConfirmation { selection: GenerationSelection; configRevision: string; } export declare class ExtensionRemovalConflictError extends Error { readonly conflicts: ExtensionRemovalConflict[]; constructor(conflicts: ExtensionRemovalConflict[]); } export declare function removedExtensions(current: GenerationSelection, target: GenerationSelection): GenerationSelection; /** 移除只检查引用,不修改配置;调用方随后仍要走候选安装与显式激活。 */ export declare function assertExtensionsNotReferenced(removal: GenerationSelection, document: Record): void; export declare function hasExtensionRemoval(selection: GenerationSelection): boolean; //# sourceMappingURL=extension-removal.d.ts.map