import ApiMethodInstance from '../models/ApiMethodInstance';
/**
 * value - id of lookup
 * lookupKeyName - used to find the correct lookup key/value pair
 * lookupValueName - the value in which to replace the target value
 */
interface LookupConfig {
    value: string;
    lookupKeyName: string | null | undefined;
    lookupValueName: string | null | undefined;
}
type ExecuteInstanceAndMapLookups = (queryParams: any, apiMethodInstanceId: string | null | undefined, replaceCache: boolean | null | undefined, showSnackbars?: boolean | null | undefined, urlQueryParams?: string) => Promise<any>;
type ExecuteInstanceWithObjectAndMapLookups = (queryParams: any, apiMethodInstance: ApiMethodInstance | null | undefined | any, replaceCache: boolean | null | undefined, showSnackbars?: boolean | null | undefined, urlQueryParams?: string) => Promise<any>;
type ExecuteAdHocAndMapLookups = (searchObject: any, apiMethodId: string | null | undefined, lookupsMap: Record<string, LookupConfig> | null | undefined, replaceCache: boolean | null | undefined, showSnackbars?: boolean | null | undefined) => Promise<any>;
export interface UseQueryExecutorsReturn {
    executeQueryInstanceAndMapLookups: ExecuteInstanceAndMapLookups;
    executeQueryInstanceWithObjectAndMapLookups: ExecuteInstanceWithObjectAndMapLookups;
    executeQueryAdHocAndMapLookups: ExecuteAdHocAndMapLookups;
    getCleanData: (data: any, lookupsMap: Record<string, LookupConfig> | null | undefined) => any;
    getLookup: (lookupId: string) => any;
}
export declare const useQueryExecutors: () => UseQueryExecutorsReturn;
export {};
//# sourceMappingURL=useQueryExecutors.d.ts.map