import { Observable } from "rxjs"; import { RequestExecuter } from "../../../internal/executer"; import { IAggField, Query } from "../../../internal/query"; import { RequestMethod } from "../../../internal/requestAdapter.interfaces"; import { ResourceType } from "../resource"; export declare abstract class BaseQuery extends Observable { protected queryExecuter: RequestExecuter; protected readonly method: RequestMethod; protected readonly resourceType: ResourceType; protected readonly resourceName: string; protected query: Query; protected abstract get body(): T | T[] | D | D[] | null; protected constructor(queryExecuter: RequestExecuter, method: RequestMethod, resourceType: ResourceType, resourceName: string); fields(fields: Array | IAggField>): this; fields(...fields: Array | IAggField>): this; private get compiledRequest(); }