import Service from "../service"; import type { ProducerConfig } from "./config"; import { RetryQueue } from "./retry_queue"; import type { Batch } from "./batch"; /** * 负责将 Batch 发送到 TLS 服务,并在失败时按照重试策略将批次重新放入重试队列。 */ export declare class Sender { private readonly service; private readonly retryQueue; private readonly config; private readonly headers?; private readonly noRetryStatusCodeSet; private readonly decreaseBufferedSize; private readonly putLogs; private stopped; constructor(params: { service: Service; retryQueue: RetryQueue; config: ProducerConfig; headers?: Record; noRetryStatusCodeList: number[]; decreaseBufferedSize: (delta: number) => void; }); stop(): void; /** * 将一个批次发送到服务端;若失败则根据状态码和重试次数决定是否进入重试队列。 */ send(batch: Batch): Promise; private handleSuccess; private handleFailure; private failedCallback; private addErrorAttempt; /** * 从 AxiosError 中解析状态码、RequestId、错误码与错误信息。 */ private extractErrorInfo; }