/**
 * ListToolsUseCase
 *
 * Returns all tools from the JSON source of truth, each enriched with
 * live ToolInstallationStatus via IToolInstallerService.checkAvailability().
 * Platform-specific fields (openDirectory, installCommand) are pre-resolved
 * so the DTO is fully serialisable with no union types.
 */
import type { ToolInstallationStatus } from '../../../domain/generated/output.js';
import type { IToolInstallerService } from '../../ports/output/services/index.js';
import type { IToolMetadataProvider } from '../../ports/output/services/tool-metadata-provider.interface.js';
export interface ToolItem {
    id: string;
    name: string;
    summary: string;
    description: string;
    tags: ('ide' | 'cli-agent' | 'vcs' | 'terminal' | 'memory')[];
    iconUrl: string | undefined;
    autoInstall: boolean;
    required: boolean;
    openDirectory: string | undefined;
    documentationUrl: string;
    installCommand: string | undefined;
    status: ToolInstallationStatus;
    author: string | undefined;
    website: string | undefined;
    platforms: ('linux' | 'darwin' | 'win32')[] | undefined;
}
export type ListToolsResult = ToolItem[];
export declare class ListToolsUseCase {
    private readonly toolInstallerService;
    private readonly toolMetadata;
    constructor(toolInstallerService: IToolInstallerService, toolMetadata: IToolMetadataProvider);
    execute(): Promise<ListToolsResult>;
}
//# sourceMappingURL=list-tools.use-case.d.ts.map