import type { ScanToolsOptions } from '../../tools/shared/scan-tools.js';
import type { PackName, ToolInfo } from '../../tools/shared/types.js';
import type { ConcreteScope } from '../../../shared/types.js';
export type RemoveTarget = {
    kind: 'name';
    name: string;
} | {
    kind: 'pack';
    pack: PackName;
} | {
    kind: 'all';
};
export interface RemoveToolsDependencies {
    scanTools: (options: ScanToolsOptions) => Promise<ToolInfo[]>;
    resolveScopeRoot: (scope: ConcreteScope, cwd: string, home: string) => Promise<string>;
    resolveAssetsRoot: () => Promise<string>;
    removeDirectory: (path: string) => Promise<void>;
    removeFile: (path: string) => Promise<void>;
}
interface RemovedTool {
    name: string;
    type: 'skill' | 'agent';
    scope: ConcreteScope;
}
export interface RemoveResult {
    removed: RemovedTool[];
    notInstalled: string[];
}
export declare function removeTools(target: RemoveTarget, scopes: ConcreteScope[], cwd: string, home: string, dryRun: boolean, deps: RemoveToolsDependencies): Promise<RemoveResult>;
export {};
//# sourceMappingURL=remove-tools.d.ts.map