import { Observable } from 'rxjs/Observable'; import { DeliveryClientConfig } from '../../config/delivery-client.config'; import { IHeader } from '../../interfaces/common/iheader.interface'; import { IElementQueryConfig } from '../../interfaces/element/ielement-query.config'; import { ElementQueryConfig } from '../../models/element/element-query.config'; import { ElementResponses } from '../../models/element/responses'; import { QueryService } from '../../services/query.service'; import { BaseQuery } from '../common/base-query.class'; export declare abstract class BaseElementQuery extends BaseQuery { protected config: DeliveryClientConfig; protected queryService: QueryService; protected _queryConfig: IElementQueryConfig; constructor(config: DeliveryClientConfig, queryService: QueryService); /** * Use to configure query * @param queryConfig Query configuration */ queryConfig(queryConfig: ElementQueryConfig): this; /** * Gets headers used by this query */ getHeaders(): IHeader[]; protected getElementQueryUrl(typeCodename: string, elementCodename: string): string; protected runElementQuery(typeCodename: string, elementCodename: string): Observable; }