import { Province, Ward, WardMapping } from './types';
/**
 * Optimized DataLoader với cache và indexing
 */
export declare class OptimizedDataLoader {
    private rawData;
    private provinces;
    private wards;
    private wardMappings;
    private provinceNameIndex;
    private wardNameIndex;
    private mappingIndex;
    private normalizedProvinceNames;
    /**
     * Load dữ liệu từ thư viện vietnam-address-database với tối ưu hóa
     */
    loadFromFile(filePath?: string): Promise<void>;
    /**
     * Load dữ liệu từ URL với tối ưu hóa (cho browser environment)
     */
    loadFromUrl(url?: string): Promise<void>;
    /**
     * Parse dữ liệu từ raw JSON
     */
    private parseData;
    /**
     * Xây dựng indexes để tăng tốc độ tìm kiếm
     */
    private buildIndexes;
    /**
     * Tìm tỉnh theo tên (optimized)
     */
    findProvinceByName(name: string): Province | undefined;
    /**
     * Tìm phường/xã theo tên và mã tỉnh (optimized)
     */
    findWardByName(name: string, provinceCode?: string): Ward | undefined;
    /**
     * Tìm mapping theo thông tin địa chỉ cũ (optimized)
     */
    findMappingByOldAddress(wardName?: string, districtName?: string, provinceName?: string): WardMapping[];
    getProvinces(): Province[];
    getWards(): Ward[];
    getWardMappings(): WardMapping[];
    /**
     * Get performance stats
     */
    getStats(): {
        provinces: number;
        wards: number;
        mappings: number;
        provinceIndexSize: number;
        wardIndexSize: number;
        mappingIndexSize: number;
    };
}
