import type { LoaderResponse } from '../types/index';
export interface ModelLoaderConfig {
    apiServer?: string;
    token?: string;
    enableCache?: boolean;
    cacheExpiration?: number;
}
export type LoadProgressCallback = (progress: number, total: number) => void;
declare class ModelLoaderService {
    private config;
    private loadingCache;
    private modelCache;
    private cacheTimers;
    private isDestroyed;
    private abortControllers;
    constructor(config?: ModelLoaderConfig);
    updateConfig(config: Partial<ModelLoaderConfig>): void;
    updateToken(token: string): void;
    loadModelFile(file: LoaderResponse, onProgress?: LoadProgressCallback): Promise<LoaderResponse>;
    loadModelFiles(files: LoaderResponse[], onProgress?: LoadProgressCallback): Promise<LoaderResponse[]>;
    private fetchModelFile;
    private buildFileUrl;
    private mergeChunks;
    private getCacheKey;
    clearCache(): void;
    clearModelCache(file: LoaderResponse): void;
    getCacheSize(): number;
    getCachedModels(): string[];
    preloadModelFiles(files: LoaderResponse[]): void;
    destroy(): void;
}
export default ModelLoaderService;
//# sourceMappingURL=ModelLoaderService.d.ts.map