import { IHeader, IHttpCancelRequestToken, IQueryParameter } from '@kontent-ai/core-sdk'; import { IManagementClientConfig } from '../config/imanagement-client-config.interface'; import { ContentManagementApiEndpoints, IContentManagementQueryConfig } from '../models'; import { BaseResponses } from '../responses'; import { ManagementQueryService } from '../services'; export declare abstract class BaseQuery { protected config: IManagementClientConfig; protected queryService: ManagementQueryService; private _customUrl?; protected readonly queryConfig: IContentManagementQueryConfig; protected readonly parameters: IQueryParameter[]; protected readonly apiEndpoints: ContentManagementApiEndpoints; protected _addSlashToUrl: boolean; constructor(config: IManagementClientConfig, queryService: ManagementQueryService); /** * Gets url for this query */ getUrl(): string; /** * Adds header to request * @param header Header to add */ withHeader(header: IHeader): this; /** * Adds headers to request * @param headers Headers to add */ withHeaders(headers: IHeader[]): this; /** * Adds cancel token to request */ withCancelToken(tokenRequest: IHttpCancelRequestToken): this; /** * Gets array of currently set headers */ getHeaders(): IHeader[]; /** * 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 promise to resolve this query */ abstract toPromise(): Promise; /** * Gets action for this query */ protected abstract getAction(): string; protected getUrlForAction(action: string): string; }