/** * Fetch IMO numbers for a specific company from MongoDB * @param companyName The name of the company to fetch IMO numbers for * @returns Array of IMO numbers as strings */ export declare function fetchCompanyImoNumbers(companyName: string, dbName: string, mongoUri: string, collectionName?: string): Promise; /** * Check if IMO filtering should be bypassed for admin companies * @param companyName - Name of the company to check * @returns True if filtering should be bypassed */ export declare function shouldBypassImoFiltering(companyName: string): boolean; /** * Validate if an IMO number is valid for the current company * @param imoNumber - IMO number to validate (string or number) * @param companyName - Company name to fetch IMO numbers for * @returns Promise that resolves to boolean indicating if IMO is valid */ export declare function isValidImoForCompany(imoNumber: string | number, companyName: string, dbName?: string, mongoUri?: string): Promise; /** * Initialize IMO cache for a company * @param companyName - Name of the company to initialize cache for */ export declare function initializeImoCache(companyName: string, dbName?: string, mongoUri?: string): Promise; /** * Load cached IMO numbers from file */ export declare function loadCachedImos(): string[]; /** * Save IMO numbers to cache file */ export declare function saveCachedImos(imos: string[], companyName: string): void; /** * Check if company should skip IMO validation (e.g., for development/testing) */ export declare function shouldSkipImoValidation(companyName: string): boolean; /** * Get company IMOs with intelligent fallback strategy */ export declare function getCompanyImosWithFallback(): string[]; /** * Clear all cached data (for testing/reset purposes) */ export declare function clearCache(): void;