import { SearchOptions, PathInfo } from '../types.js'; import 'fs'; type PlatformWithMock = NodeJS.Platform | 'mock'; /** * PathFinder class for locating iCloud paths on different platforms */ declare class PathFinder { private adapter; private static instance; private static platformOverride; /** * Get a singleton instance of PathFinder * * @param platformOverride Override the platform detection (useful for testing) * @returns PathFinder instance */ static getInstance(platformOverride?: PlatformWithMock): PathFinder; /** * Reset the singleton instance * Primarily used for testing */ static reset(): void; /** * Find iCloud paths based on search options * * @param options Search options to filter paths * @param platformOverride Override the platform detection (useful for testing) * @returns Promise resolving to array of path info objects */ static find(options?: SearchOptions, platformOverride?: PlatformWithMock): Promise; /** * Create a new PathFinder instance * * @param platformOverride Override the platform detection (useful for testing) */ constructor(platformOverride?: PlatformWithMock); /** * Find iCloud paths based on search options * * @param options Search options to filter paths * @returns Promise resolving to array of path info objects */ find(options?: SearchOptions): Promise; /** * Filter paths based on search options * * @param paths Array of path info objects * @param options Search options to filter paths * @returns Filtered array of path info objects */ private _filterPaths; /** * Find paths matching the app name pattern * * @param pattern App name pattern to match * @param paths Array of path info objects * @returns Filtered and sorted array of path info objects */ private _findMatchingApps; /** * Calculate match score for a path against search terms * * @param searchTerms Array of search terms * @param path Path info object * @returns Match score (higher is better) */ private _calculateMatchScore; } export { PathFinder };