import { BaseAdapter } from './BaseAdapter';
import type { BaseOptions } from './BaseOptions';
import type { FeatureDensityStats } from './types';
import type { Feature } from '../../util/simpleFeature';
import type { AugmentedRegion as Region } from '../../util/types';
import type { Observable } from 'rxjs';
export declare abstract class BaseFeatureDataAdapter extends BaseAdapter {
    abstract getRefNames(opts?: BaseOptions): Promise<string[]>;
    abstract getFeatures(region: Region, opts?: BaseOptions): Observable<Feature>;
    getHeader(_opts?: BaseOptions): Promise<unknown>;
    getMetadata(_opts?: BaseOptions): Promise<unknown>;
    getFeaturesInRegion(region: Region, opts?: BaseOptions): Observable<Feature>;
    getFeaturesInMultipleRegions(regions: Region[], opts?: BaseOptions): Observable<Feature>;
    hasDataForRefName(refName: string, opts?: BaseOptions): Promise<boolean>;
    getRegionQuantitativeStats(region: Region, opts?: BaseOptions): Promise<import("../../util/stats").QuantitativeStats>;
    getMultiRegionQuantitativeStats(regions?: Region[], opts?: BaseOptions): Promise<import("../../util/stats").QuantitativeStats>;
    getRegionFeatureDensityStats(region: Region, opts?: BaseOptions): Promise<FeatureDensityStats>;
    getMultiRegionFeatureDensityStats(regions: Region[], opts?: BaseOptions): Promise<FeatureDensityStats>;
    getSources(regions: Region[]): Promise<{
        name: string;
        color?: string;
        [key: string]: unknown;
    }[]>;
}
