import { type CommandContext, type GlobalOptions } from '../../../../app/command-context.js';
import { type MultiSelectChoice, type PromptContext } from '../../../shared/shared.prompts.js';
import { Command } from 'commander';
import { type InstallUtilityOptions, type InstallUtilityResult } from './install-utility.js';
type UtilityScope = 'project' | 'user';
interface InitToolsUtilityDependencies {
    buildCommandContext: (options: GlobalOptions) => CommandContext;
    resolveProjectRoot: (cwd: string) => Promise<string>;
    resolveScopeRoot: (scope: UtilityScope, cwd: string, home: string) => string;
    resolveAssetsRoot: () => Promise<string>;
    installUtility: (options: InstallUtilityOptions) => Promise<InstallUtilityResult>;
    selectManyWithAbort: <T extends string>(message: string, choices: MultiSelectChoice<T>[], ctx: PromptContext) => Promise<T[] | null>;
    confirmAction: (message: string, ctx: PromptContext) => Promise<boolean>;
}
export declare function createInitToolsUtilityCommand(overrides?: Partial<InitToolsUtilityDependencies>): Command;
export {};
//# sourceMappingURL=index.d.ts.map