import { IHeader, IQueryParameter } from 'kentico-cloud-core'; import { Observable } from 'rxjs'; import { IDeliveryClientConfig } from '../../config'; import { ICloudResponse, IQueryConfig } from '../../models'; import { QueryService } from '../../services'; export declare abstract class BaseQuery { protected config: IDeliveryClientConfig; protected queryService: QueryService; protected parameters: IQueryParameter[]; protected customUrl?: string; protected abstract _queryConfig: IQueryConfig; constructor(config: IDeliveryClientConfig, queryService: QueryService); abstract getUrl(): string; abstract toObservable(): Observable; /** * Adds parameter to query * @param name Name of parameter * @param value Value of parameter */ withParameter(name: string, value: string): this; /** * Adds parameters to query * @param parameters Array of parameters */ withParameters(parameters: IQueryParameter[]): this; /** * Gets headers used by this query */ getHeaders(): IHeader[]; withUrl(url: string): this; getParameters(): IQueryParameter[]; toPromise(): Promise; protected resolveUrlInternal(action: string): string; }