import { Observable } from 'rxjs'; import { Expression } from '../../core/expression'; import { EvaluatedResultType } from '../../types/evaluated-result-type'; import { ODataResponse } from '../helpers/definitions'; import { ODataCustomQueryComposer } from '../query-composition/types'; import { ODataExpressionHandler } from './odata-expression-handler'; export type ODataExecutionFunction = (collectionName: string, oDataQueryText: string) => Observable; export interface ODataExecutorParams { execute: ODataExecutionFunction; expressionHandler?: ODataExpressionHandler; customQueryComposer?: ODataCustomQueryComposer; } export declare class ODataExecutor { private readonly params; /** * Constructor. * @param query The function to execute the query against the backend. * @param unexpandableFieldChains Specifies field chains which cannot be expanded. The select OData operator is used for these fields instead. */ constructor(params: ODataExecutorParams); execute(expression: Expression): Observable>; }