import { AxiosInstance, AxiosRequestConfig } from 'axios';
import Field from '../data-set/Field';
import Record from '../data-set/Record';
import PromiseMerger from '../promise-merger';
export declare type responseData = object[];
export declare type responseType = responseData | undefined;
declare type callbackArgs = [(codes: string[]) => AxiosRequestConfig, Field | undefined];
export declare class LookupCodeStore {
    getAxios(field?: Field): AxiosInstance;
    batchCallback: (codes: string[], args: callbackArgs) => Promise<{
        [key: string]: responseData;
    }>;
    merger: PromiseMerger<responseData, callbackArgs, undefined>;
    fetchLookupData(key: AxiosRequestConfig | string, axiosConfig?: AxiosRequestConfig, field?: Field): Promise<responseType>;
    fetchLookupDataInBatch(code: string, lookupBatchAxiosConfig: (codes: string[]) => AxiosRequestConfig, field?: Field): Promise<responseType>;
    getAxiosConfig(field: Field, record?: Record | undefined, noCache?: boolean): AxiosRequestConfig;
    getUrl(field: Field, record?: Record | undefined): string | undefined;
    /** @deprecated */
    clearCache(): void;
}
declare const _default: LookupCodeStore;
export default _default;
