/**
 * Rate limiter interface to prevent Soulseek bans.
 * Enforces delays between operations.
 */
export interface IRateLimiter {
    /**
     * Executes function with appropriate delay.
     * @param fn - Function to execute
     * @param type - Operation type for delay calculation
     * @returns Function result
     */
    executeWithDelay<T>(fn: () => Promise<T>, type: 'search' | 'download'): Promise<T>;
    /** @returns Number of queued operations */
    getQueueSize(): number;
    /** @returns Number of pending operations */
    getPendingCount(): number;
    /** Clears all queued operations */
    clear(): void;
}
//# sourceMappingURL=i-rate-limiter.d.ts.map