import TransportQueue from './queue'; import type TransportCore from './core'; import type { HTTPMethod, StringTemplateArgs, RequestOptions } from '../../types'; import type { ITransport } from './transport-base'; /** * TransportPutPatchDiagnosticsQueue Waits on sending put and patch calls until a put/patch diagnostics call is successful. * If Either are not successful, it calls setUseXHttpMethodOverride with true on the passed transportCore. * * @param transport - * The transport to wrap. * @param transportCore - (optional) The core transport at the bottom of the chain. */ declare class TransportPutPatchDiagnosticsQueue implements ITransport { isQueueing: boolean; transport: ITransport; transportQueue: TransportQueue; constructor(transport: ITransport, transportCore: TransportCore); private putPatchTransportMethod; private otherMethodTransport; put: HTTPMethod; patch: HTTPMethod; get: (servicePath: string, urlTemplate: string, templateArgs?: StringTemplateArgs, options?: RequestOptions) => Promise>; post: (servicePath: string, urlTemplate: string, templateArgs?: StringTemplateArgs, options?: RequestOptions) => Promise>; delete: (servicePath: string, urlTemplate: string, templateArgs?: StringTemplateArgs, options?: RequestOptions) => Promise>; head: (servicePath: string, urlTemplate: string, templateArgs?: StringTemplateArgs, options?: RequestOptions) => Promise>; options: (servicePath: string, urlTemplate: string, templateArgs?: StringTemplateArgs, options?: RequestOptions) => Promise>; dispose(): void; } export default TransportPutPatchDiagnosticsQueue;