/**
 * Data loading service for synchronizing minified patient data
 */
import { SdkConfig } from '../types';
import { IndexedDBService } from './indexeddb';
export interface LoadProgress {
    progress: number;
    total: number;
    isComplete: boolean;
}
export interface LoadCallbacks {
    onProgress?: (progress: LoadProgress) => void;
    onComplete?: () => void;
    onError?: (error: string) => void;
}
/**
 * Service for loading minified patient data into IndexedDB
 */
export declare class DataLoaderService {
    private minifiedMethods;
    private indexedDB;
    private isLoading;
    private abortController;
    constructor(config: SdkConfig);
    /**
     * Initialize the data loader service
     */
    init(): Promise<void>;
    /**
     * Check if data loading is in progress
     */
    isLoadingData(): boolean;
    /**
     * Check if local data exists
     */
    hasLocalData(): Promise<boolean>;
    /**
     * Load all minified patient data into IndexedDB
     */
    loadAllData(callbacks?: LoadCallbacks): Promise<void>;
    /**
     * Stop data loading
     */
    stopLoading(): void;
    /**
     * Clear all local data
     */
    clearLocalData(): Promise<void>;
    /**
     * Get IndexedDB service for direct access
     */
    getIndexedDB(): IndexedDBService;
    /**
     * Close database connection
     */
    close(): void;
    /**
     * Sync all pages of minified data
     */
    private syncAllPages;
}
