import { Observable } from 'rxjs/Observable'; import { DeliveryClientConfig } from '../../config/delivery-client.config'; import { IHeader } from '../../interfaces/common/iheader.interface'; import { IContentItem } from '../../interfaces/item/icontent-item.interface'; import { IItemQueryConfig } from '../../interfaces/item/iitem-query.config'; import { ItemResponses } from '../../models/item/responses'; import { QueryService } from '../../services/query.service'; import { BaseQuery } from '../common/base-query.class'; export declare abstract class BaseItemQuery extends BaseQuery { protected config: DeliveryClientConfig; protected queryService: QueryService; protected _queryConfig?: IItemQueryConfig; constructor(config: DeliveryClientConfig, queryService: QueryService); /** * Used to configure query * @param queryConfig Query configuration */ queryConfig(queryConfig: IItemQueryConfig): this; /** * Gets headers used by this query */ getHeaders(): IHeader[]; /** * Language codename * @param languageCodename Codename of the language */ languageParameter(languageCodename: string): this; /** * Used to limit the number of elements returned by query. * @param elementCodenames Array of element codenames to fetch */ elementsParameter(elementCodenames: string[]): this; /** * Indicates how deep nested modular content items are resolved. * @param depth Depth of the query (> 0) */ depthParameter(depth: number): this; private getQueryConfig(); protected getMultipleItemsQueryUrl(): string; protected getSingleItemQueryUrl(codename: string): string; protected runMultipleItemsQuery(): Observable>; protected runSingleItemQuery(codename: string): Observable>; private processDefaultLanguageParameter(); }