import { DestinationPlugin } from '../plugin'; import { PluginType, SegmentAPISettings, SegmentEvent, UpdateType } from '../types'; import type { SegmentClient } from '../analytics'; export declare const SEGMENT_DESTINATION_KEY = "Segment.io"; export declare class SegmentDestination extends DestinationPlugin { type: PluginType; key: string; private apiHost?; private httpConfig?; private settingsResolve; private settingsPromise; private retryManager?; constructor(); private getRateLimitConfig; private getBackoffConfig; private classifyBatchResult; private uploadBatch; private reportDroppedEvents; private aggregateErrors; /** * Drop events whose _queuedAt exceeds maxTotalBackoffDuration. * Returns the remaining fresh events. */ private pruneExpiredEvents; /** * Update retry state based on aggregated batch results. * 429 takes precedence over transient errors. * Returns true if retry limits were exceeded (caller should drop events). */ private updateRetryState; private processUploadResults; private sendEvents; private readonly queuePlugin; private getEndpoint; configure(analytics: SegmentClient): void; update(settings: SegmentAPISettings, _type: UpdateType): void; execute(event: SegmentEvent): Promise; flush(): Promise; } //# sourceMappingURL=SegmentDestination.d.ts.map