import { IQueryParameter } from 'kentico-cloud-core'; import { Observable } from 'rxjs'; import { IContentManagementClientConfig } from '../config/icontent-management-client-config.interface'; import { ContentManagementApiEndpoints, IContentManagementQueryConfig } from '../models'; import { BaseResponses } from '../responses'; import { ContentManagementQueryService } from '../services'; export declare abstract class BaseQuery { protected config: IContentManagementClientConfig; protected queryService: ContentManagementQueryService; protected queryConfig: IContentManagementQueryConfig; protected parameters: IQueryParameter[]; protected apiEndpoints: ContentManagementApiEndpoints; protected customUrl?: string; constructor(config: IContentManagementClientConfig, queryService: ContentManagementQueryService); /** * Gets url for this query */ getUrl(): string; /** * Gets Promise to resolve this query */ toPromise(): Promise; /** * Sets query configuration * @param config Query configuration object */ withQueryConfig(config: IContentManagementQueryConfig): this; /** * Sets custom query parmeter that will be added to URL * @param name Parameter name * @param value Parameter value */ withCustomParameter(name: string, value: string): this; /** * Overrides default url resolver and resolves this query with a custom one * @param url Custom url to resolve query */ withUrl(url: string): this; /** * Gets parameters assigned to this query */ getParameters(): IQueryParameter[]; /** * Gets Observable to resolve this query */ abstract toObservable(): Observable; /** * Gets action for this query */ protected abstract getAction(): string; }