import { DataSource, IRendererAppHelper } from '../types';
type DataSourceType = 'fetch' | 'jsonp';
/**
 * do request for standard DataSourceType
 * @param {DataSourceType} type type of DataSourceItem
 * @param {any} options
 */
export declare function doRequest(type: DataSourceType, options: any): Promise<unknown>;
export declare class DataHelper {
    /**
     * host object that will be "this" object when excuting dataHandler
     *
     * @type {*}
     * @memberof DataHelper
     */
    host: any;
    /**
     * data source config
     *
     * @type {DataSource}
     * @memberof DataHelper
     */
    config: DataSource;
    /**
     * a parser function which will be called to process config data
     * which eventually will call common/utils.processData() to process data
     * (originalConfig) => parsedConfig
     * @type {*}
     * @memberof DataHelper
     */
    parser: any;
    /**
     * config.list
     *
     * @type {any[]}
     * @memberof DataHelper
     */
    ajaxList: any[];
    ajaxMap: any;
    dataSourceMap: any;
    appHelper: IRendererAppHelper;
    constructor(comp: any, config: DataSource, appHelper: IRendererAppHelper, parser: any);
    updateConfig(config?: {}): any;
    generateDataSourceMap(): any;
    updateDataSourceMap(id: string, data: any, error: any): void;
    /**
     * get all dataSourceItems which marked as isInit === true
     * @private
     * @returns
     * @memberof DataHelper
     */
    getInitDataSourseConfigs(): any;
    /**
     * process all dataSourceItems which marked as isInit === true, and get dataSource request results.
     * @public
     * @returns
     * @memberof DataHelper
     */
    getInitData(): Promise<any>;
    getDataSource(id: string, params: any, otherOptions: any, callback: any): Promise<any>;
    asyncDataHandler(asyncDataList: any[]): Promise<unknown>;
    /**
     * process data using dataHandler
     *
     * @param {(string | null)} id request id, will be used in error message, can be null
     * @param {*} dataHandler
     * @param {*} data
     * @param {*} error
     * @returns
     * @memberof DataHelper
     */
    handleData(id: string | null, dataHandler: any, data: any, error: any): any;
}
export {};
