import { OperationBase } from './base'; import { Ctor } from '@ne1410s/codl'; export declare type Verb = 'get' | 'head' | 'post' | 'put' | 'patch' | 'delete'; export declare type BodylessVerb = 'get' | 'head'; export declare abstract class HttpOperation extends OperationBase { readonly verb: Verb; readonly headers: Headers; protected _url: string; get url(): string; constructor(url: string, verb?: Verb, headers?: HeadersInit, requestType?: Ctor, responseType?: Ctor); /** * * @param requestData Request data. */ abstract serialise(requestData: TRequest): Promise; /** * * @param response The http response. * @param requestData Request data. */ abstract deserialise(response: Response, requestData: TRequest): Promise; /** * @inheritdoc * @throws {SerialisationError} * @throws {DeserialisationError} */ protected invokeInternal(requestData: TRequest): Promise; private serialiseQuery; }