import { RateLimitConfig } from '../../utils/rate-limiter';
/**
 * Configuration for download behavior.
 */
export interface DownloadConfig extends RateLimitConfig {
    /** Maximum download attempts */
    maxAttempts?: number;
    /** Search timeout in milliseconds */
    searchTimeout?: number;
    /** Download timeout in milliseconds */
    downloadTimeout?: number;
    /** Whether to prefer users with available slots */
    preferSlotsAvailable?: boolean;
    /** Minimum upload speed in bytes/second */
    minSpeed?: number;
    /** Minimum quality bitrate in kbps */
    minQualityBitrate?: number;
    /** Maximum quality bitrate in kbps (optional, no limit if not specified) */
    maxQualityBitrate?: number;
    /** Number of concurrent downloads to race (default: 3) */
    concurrentDownloads?: number;
    /** Enable download racing strategy (default: true) */
    enableDownloadRacing?: boolean;
}
//# sourceMappingURL=download-config.d.ts.map