/**
 * 资源类型
 */
export type ResourceType = 'script' | 'style' | 'image' | 'font' | 'prefetch' | 'preload';
/**
 * 资源优先级
 */
export declare enum ResourcePriority {
    /**
     * 高优先级 - 关键资源
     */
    HIGH = "high",
    /**
     * 中优先级 - 重要资源
     */
    MEDIUM = "medium",
    /**
     * 低优先级 - 非关键资源
     */
    LOW = "low",
    /**
     * 自动 - 由浏览器决定
     */
    AUTO = "auto"
}
/**
 * 资源加载选项
 */
export interface ResourceLoadOptions {
    /**
     * 资源类型
     */
    type: ResourceType;
    /**
     * 资源 URL
     */
    url: string;
    /**
     * 优先级
     */
    priority?: ResourcePriority;
    /**
     * 是否异步加载
     */
    async?: boolean;
    /**
     * 是否延迟加载
     */
    defer?: boolean;
    /**
     * 跨域设置
     */
    crossOrigin?: 'anonymous' | 'use-credentials';
    /**
     * 完整性校验（SRI）
     */
    integrity?: string;
    /**
     * 加载完成回调
     */
    onLoad?: () => void;
    /**
     * 加载失败回调
     */
    onError?: (error: Error) => void;
}
/**
 * 资源加载器类
 */
export declare class ResourceLoader {
    private loadedResources;
    private loadingResources;
    private maxConcurrentLoads;
    /**
     * 获取动态并发数（基于网络状况）
     */
    private getDynamicConcurrency;
    /**
     * 加载脚本
     */
    loadScript(options: Omit<ResourceLoadOptions, 'type'>): Promise<void>;
    /**
     * 加载样式
     */
    loadStyle(options: Omit<ResourceLoadOptions, 'type'>): Promise<void>;
    /**
     * 预加载资源
     */
    preload(options: ResourceLoadOptions): void;
    /**
     * 预取资源
     */
    prefetch(options: Omit<ResourceLoadOptions, 'type'>): void;
    /**
     * 加载资源
     */
    loadResource(options: ResourceLoadOptions): Promise<void>;
    /**
     * 执行资源加载
     */
    private doLoadResource;
    /**
     * 获取资源 as 属性值
     */
    private getResourceAs;
    /**
     * 使用 requestIdleCallback 加载低优先级资源
     */
    loadWhenIdle(options: ResourceLoadOptions, timeout?: number): void;
    /**
     * 批量加载资源（按优先级）
     */
    loadResources(resources: ResourceLoadOptions[]): Promise<void[]>;
    /**
     * 按优先级排序资源
     */
    private sortByPriority;
    /**
     * 限制并发数的资源加载（优化版本）
     */
    private loadResourcesWithConcurrencyLimit;
    /**
     * 检查资源是否已加载
     */
    isLoaded(url: string): boolean;
}
/**
 * 默认资源加载器实例
 */
export declare const resourceLoader: ResourceLoader;
//# sourceMappingURL=resourceLoader.d.ts.map