///
import { DataSource, IncomingHttpHeaders, PrepareParameterFunc, RequestParameter } from '../../models/index';
import { interfaces } from 'inversify';
import { DataQueryBuilder, IDataQueryBuilder } from './builder';
import { IParameterizer } from './parameterizer';
export interface IExecutor {
createBuilder(profileName: string, query: string, parameterizer: IParameterizer, headers?: IncomingHttpHeaders): Promise;
prepare: PrepareParameterFunc;
}
export declare class QueryExecutor implements IExecutor {
private dataSourceFactory;
constructor(dataSourceFactory: interfaces.SimpleFactory);
prepare(request: RequestParameter): Promise;
/**
* create data query builder
* @returns
*/
createBuilder(profileName: string, query: string, parameterizer: IParameterizer, headers?: IncomingHttpHeaders): Promise;
}