/** * Shared utilities for search functionality */ /** * Normalize search terms for better matching * Handles spaces, dashes, underscores, and file extensions * * @param term - The search term to normalize * @param maxLength - Maximum allowed length for the search term (default: 1000) * @returns Normalized search term * @throws Error if term exceeds maxLength */ export declare function normalizeSearchTerm(term: string, maxLength?: number): string; /** * Preserve original structure for partial matching * Less aggressive normalization that keeps original separators for partial searches * * @param term - The search term to normalize * @param maxLength - Maximum allowed length for the search term (default: 1000) * @returns Normalized search term with preserved structure * @throws Error if term exceeds maxLength */ export declare function normalizeForPartialMatch(term: string, maxLength?: number): string; /** * Check if a search term matches a target string with multiple strategies * Uses both normalized matching and partial matching for better results * * @param searchTerm - The term being searched for * @param targetString - The string to search in * @returns true if there's a match */ export declare function isSearchMatch(searchTerm: string, targetString: string): boolean; /** * Validate search query length and content * * @param query - The search query to validate * @param maxLength - Maximum allowed length (default: 1000) * @returns true if valid * @throws Error with descriptive message if invalid */ export declare function validateSearchQuery(query: string, maxLength?: number): boolean; /** * Debug function to show how search terms are normalized * Helps troubleshoot search matching issues * * @param originalTerm - The original search term * @returns Object with different normalization results */ export declare function debugNormalization(originalTerm: string): { original: string; normalized: string; partialMatch: string; }; //# sourceMappingURL=searchUtils.d.ts.map