import { type AvoNetworkCallsHandler, type EventProperty } from "./AvoNetworkCallsHandler";
import type { EventSpecMetadata } from "./eventSpec/AvoEventSpecFetchTypes";
export interface AvoBatcherType {
    handleSessionStarted: () => void;
    handleTrackSchema: (eventName: string, schema: EventProperty[], eventId: string | null, eventHash: string | null, eventSpecMetadata?: EventSpecMetadata) => void;
}
export declare class AvoBatcher implements AvoBatcherType {
    private events;
    private batchFlushAttemptTimestamp;
    private readonly networkCallsHandler;
    constructor(networkCallsHandler: AvoNetworkCallsHandler);
    handleSessionStarted(): void;
    handleTrackSchema(eventName: string, schema: EventProperty[], eventId: string | null, eventHash: string | null, eventSpecMetadata?: EventSpecMetadata): void;
    private checkIfBatchNeedsToBeSent;
    private saveEvents;
    static get cacheKey(): string;
}
