import { AssetBundle, AssetQuality, IDownloadStrategy, NetworkConditions } from '../types/index';
/**
 * Configuration-driven network-aware strategy
 */
export declare class NetworkAwareStrategy implements IDownloadStrategy {
    readonly name = "network-aware";
    private config;
    constructor();
    getOptimalQuality(conditions: NetworkConditions): AssetQuality;
    prioritizeBundles(bundles: AssetBundle[], conditions: NetworkConditions): AssetBundle[];
    shouldDownload(bundle: AssetBundle, conditions: NetworkConditions): boolean;
    getMaxConcurrentDownloads(conditions: NetworkConditions): number;
    /**
     * Update strategy configuration
     */
    configure(newConfig: any): void;
    /**
     * Async methods for advanced usage
     */
    getOptimalQualityAsync(conditions: NetworkConditions): Promise<AssetQuality>;
    prioritizeBundlesAsync(bundles: AssetBundle[], conditions: NetworkConditions): Promise<AssetBundle[]>;
    shouldDownloadAsync(bundle: AssetBundle, conditions: NetworkConditions): Promise<boolean>;
    getMaxConcurrentDownloadsAsync(conditions: NetworkConditions): Promise<number>;
}
