/**
 * Tool Utilities
 *
 * Provides normalization and conversion utilities for tool types.
 * Handles various input formats (aliases, case variations) and converts
 * them to the canonical ToolType used throughout the platform.
 */
import { ToolType } from '../types/tool.types';
/**
 * Normalizes a tool name string to the canonical ToolType.
 * Handles various formats like 'tactical', 'TACTICAL_RMM', 'tactical-rmm', etc.
 *
 * @param input - The tool name string to normalize
 * @returns The canonical ToolType, or undefined if no match found
 *
 * @example
 * normalizeToolType('tactical') // => 'TACTICAL_RMM'
 * normalizeToolType('FLEET-MDM') // => 'FLEET_MDM'
 * normalizeToolType('unknown') // => undefined
 */
export declare function normalizeToolType(input?: string): ToolType | undefined;
/**
 * Normalizes a tool name string to the canonical ToolType with a fallback.
 * Returns 'SYSTEM' as the default if no match is found.
 *
 * @param input - The tool name string to normalize
 * @returns The canonical ToolType, defaults to 'SYSTEM' if no match
 *
 * @example
 * normalizeToolTypeWithFallback('tactical') // => 'TACTICAL_RMM'
 * normalizeToolTypeWithFallback('unknown') // => 'SYSTEM'
 */
export declare function normalizeToolTypeWithFallback(input?: string): ToolType;
/**
 * Converts any tool name variant to its display label.
 * Handles normalization internally.
 *
 * @param input - The tool name string (any format)
 * @returns The display label, or the original input if no match
 *
 * @example
 * toToolLabel('tactical') // => 'Tactical'
 * toToolLabel('FLEET-MDM') // => 'Fleet'
 * toToolLabel('unknown') // => 'unknown'
 */
export declare function toToolLabel(input?: string): string;
/**
 * Checks if a string is a valid tool type (or can be normalized to one).
 *
 * @param input - The string to check
 * @returns True if the input can be normalized to a valid ToolType
 *
 * @example
 * isValidToolType('tactical') // => true
 * isValidToolType('FLEET_MDM') // => true
 * isValidToolType('unknown') // => false
 */
export declare function isValidToolType(input?: string): boolean;
/**
 * Gets all valid tool type aliases for a given canonical ToolType.
 * Useful for documentation or validation purposes.
 *
 * @param toolType - The canonical ToolType
 * @returns Array of all aliases that map to this tool type
 */
export declare function getToolTypeAliases(toolType: ToolType): string[];
/**
 * Get display label for a tool type
 */
export declare function getToolLabel(toolType: ToolType): string;
//# sourceMappingURL=tool-utils.d.ts.map