/** * ROMM API client * API wrapper for auth, search, upload, retries, errors */ import { Platform, RomLookupResult } from '../types.js'; export interface RommClientOptions { baseUrl: string; username: string; password?: string; authCacheEnabled: boolean; authCachePath?: string; authReauthSkewSeconds: number; requestTimeoutSeconds: number; retryCount: number; dryRun?: boolean; } export declare class RommClient { private _options; private _session; constructor(options: RommClientOptions); /** * Initialize client - check for cached token */ initialize(): Promise; /** * Get the full API URL for a path */ private _getUrl; /** * Execute fetch with retries and exponential backoff */ private _fetchWithRetry; /** * Make an authenticated API request */ private _fetch; /** * Authenticate with ROMM */ authenticate(): Promise; /** * Resolve platform ID from slug, name, or numeric ID */ resolvePlatform(platformValue: string): Promise; /** * Get all platforms */ getPlatforms(): Promise; /** * Lookup ROM by hash */ lookupRomByHash(options: { crc32?: string; md5?: string; sha1?: string; raHash?: string; }): Promise; /** * Fetch CSRF token from RomM */ private _fetchCsrfToken; /** * Upload a ROM file */ uploadRom(options: { filePath: string; platformId: number; filename: string; dryRun?: boolean; }): Promise; /** * Get files by filename */ getFilesByFilename(filename: string): Promise>; } //# sourceMappingURL=client.d.ts.map