import { IResponse, IHeader, IHttpService, IQueryParameter, ISDKInfo } from '@kontent-ai/core-sdk'; import { IManagementClientConfig } from '../config/imanagement-client-config.interface'; import { IContentManagementInternalQueryConfig, IContentManagementQueryConfig } from '../models'; export declare abstract class BaseManagementQueryService { protected readonly config: IManagementClientConfig; protected readonly httpService: IHttpService; protected readonly sdkInfo: ISDKInfo; /** * Default base url for content management API */ private readonly defaultBaseCMUrl; constructor(config: IManagementClientConfig, httpService: IHttpService, sdkInfo: ISDKInfo); /** * Gets url based on the action, query configuration and options (parameters) * @param action Action (= url part) that will be hit * @param options Query options * @param addSlash Indicates if slash is added to query */ getFullUrl(action: string, options?: IQueryParameter[], addSlash?: boolean): string; /** * Gets proper set of headers for given request. * @param config Query config */ getHeaders(config: IContentManagementQueryConfig): IHeader[]; /** * Http PATCH response * @param url Url of request * @param config Query configuration */ protected patchResponseAsync(url: string, body: any, internalConfig: IContentManagementInternalQueryConfig, config: IContentManagementQueryConfig): Promise>; /** * Http GET response * @param url Url of request * @param config Query configuration */ protected getResponseAsync(url: string, internalConfig: IContentManagementInternalQueryConfig, config: IContentManagementQueryConfig): Promise>; /** * Http POST response * @param url Url of request * @param body Body of the request (names and values) * @param config Query configuration */ protected postResponseAsync(url: string, body: any, internalConfig: IContentManagementInternalQueryConfig, config: IContentManagementQueryConfig): Promise>; /** * Http PUT response * @param url Url of request * @param body Body of the request (names and values) * @param config Query configuration */ protected putResponseAsync(url: string, body: any, internalConfig: IContentManagementInternalQueryConfig, config: IContentManagementQueryConfig): Promise>; /** * Http Delete response * @param url Url of request * @param body Body of the request (names and values) * @param config Query configuration */ protected deleteResponseAsync(url: string, internalConfig: IContentManagementInternalQueryConfig, config: IContentManagementQueryConfig): Promise>; protected getBinaryDataFromUrlAsync(url: string): Promise; protected getMimeTypeFromFilename(filename: string): string | null; private mapContentManagementError; /** * Gets authorization header */ private getAuthorizationHeader; /** * Gets base URL of the request including the project Id */ private getBaseUrl; }