import type { StorageManager } from "../storage"; import type { EventPayload, NetworkClient, PiiData, PiiEncryptor } from "../types"; import type { Logger } from "../utils/logger"; interface TransportConfig { endpoint: string; apiKey: string; jwt: string; orgId: string; projectId: string; piiPublicKey?: string; fetcher: NetworkClient; piiEncryptor?: PiiEncryptor; onError?: (error: Error) => void | Promise; onJwtRefresh?: () => Promise; onReinit?: () => Promise; } export declare class DataTransport { private config; private readonly storage; private readonly logger; private readonly batchSize; private readonly batchInterval; private readonly maxEventsPerMinute; private queue; private batchTimer; private isFlushing; private hydrated; private pendingPii; private encryptedPiiBlob; private eventTimestamps; private rateLimitDropCount; private disposed; private retryAvailableAt; private retryDelayMs; private readonly hydrationPromise; constructor(config: TransportConfig, storage: StorageManager, logger: Logger, batchSize: number, batchInterval: number, maxEventsPerMinute: number); ready(): Promise; updateConfig(config: TransportConfig): void; destroy(): void; updateJwt(jwt: string): void; getJwt(): string; setPii(data: PiiData | null): void; enqueue(event: EventPayload, scheduleSend?: boolean): Promise; flush(): void; sendImmediately(event: EventPayload): Promise; flushAndWait(timeoutMs?: 10000): Promise; private loadQueueData; private persistQueue; private scheduleSend; private flushInternal; private dispatchBatch; private reportError; private deferNextRetry; private resetRetryBackoff; private tryJson; private buildBatchPayload; private getHeaders; private getEncryptedPii; } export {};