import { type CommandContext } from '../../../app/command-context.js';
import { readGlobalOptions } from '../../shared/shared.utils.js';
import { type SyncConfig } from '../../../config/sync-config.js';
import { type Manifest } from '../../../manifest/index.js';
import { type ConfigAwareAdaptersResult, type PathMapping, type ProviderAdapter } from '../../../providers/shared/index.js';
import type { AdoptionSource } from '../../../providers/shared/adapter.types.js';
import type { ConcreteScope, Scope } from '../../../shared/types.js';
import { Command } from 'commander';
export interface RemoveSkillDependencies {
    buildCommandContext: (options: ReturnType<typeof readGlobalOptions>) => CommandContext;
    resolveScopeRoot: (scope: ConcreteScope, context: CommandContext) => Promise<string>;
    loadManifest: (manifestPath: string) => Promise<Manifest>;
    saveManifest: (manifestPath: string, manifest: Manifest) => Promise<void>;
    loadSyncConfig: (configPath: string) => Promise<SyncConfig>;
    getAdapters: () => ProviderAdapter[];
    getConfigAwareAdapters: (adapters: ProviderAdapter[], scopeRoot: string, config: SyncConfig) => Promise<ConfigAwareAdaptersResult>;
    getSyncMappings: (adapter: ProviderAdapter, scope: Scope) => PathMapping[];
    getAdoptionSources: (adapter: ProviderAdapter, scope: Scope) => AdoptionSource[];
    pathExists: (path: string) => Promise<boolean>;
    removeDirectory: (path: string) => Promise<void>;
}
export declare function createDefaultRemoveSkillDependencies(): RemoveSkillDependencies;
export declare function runRemoveSkill(context: CommandContext, skillName: string, dryRun: boolean, dependencies: RemoveSkillDependencies): Promise<boolean>;
export declare function createRemoveSkillCommand(overrides?: Partial<RemoveSkillDependencies>): Command;
//# sourceMappingURL=remove-skill.d.ts.map