import { ILogger } from '@amplitude/analytics-core'; import { SessionReplayTrackDestination as AmplitudeSessionReplayTrackDestination, SessionReplayDestination, SessionReplayDestinationContext } from './typings/session-replay'; export type PayloadBatcher = ({ version, events }: { version: number; events: string[]; }) => { version: number; events: unknown[]; }; export declare class SessionReplayTrackDestination implements AmplitudeSessionReplayTrackDestination { loggerProvider: ILogger; storageKey: string; trackServerUrl?: string; retryTimeout: number; private scheduled; payloadBatcher: PayloadBatcher; queue: SessionReplayDestinationContext[]; constructor({ trackServerUrl, loggerProvider, payloadBatcher, }: { trackServerUrl?: string; loggerProvider: ILogger; payloadBatcher?: PayloadBatcher; }); sendEventsList(destinationData: SessionReplayDestination): void; addToQueue(...list: SessionReplayDestinationContext[]): void; schedule(timeout: number): void; flush(useRetry?: boolean): Promise; send(context: SessionReplayDestinationContext, useRetry?: boolean): Promise; handleReponse(status: number, context: SessionReplayDestinationContext): Promise; handleSuccessResponse(context: SessionReplayDestinationContext): void; handleOtherResponse(context: SessionReplayDestinationContext): Promise; completeRequest({ context, err, success, }: { context: SessionReplayDestinationContext; err?: string; success?: string; }): void; } //# sourceMappingURL=track-destination.d.ts.map