import { AvoNetworkCallsHandler } from "./AvoNetworkCallsHandler";
export interface AvoBatcherType {
    handleTrackSchema(eventName: string, schema: Array<{
        propertyName: string;
        propertyType: string;
        children?: any;
    }>, eventId: string | null, eventHash: string | null, eventProps?: Record<string, any>): void;
}
export declare class AvoBatcher implements AvoBatcherType {
    private events;
    private batchFlushAttemptTimestamp;
    /** Exposed for AvoInspector.sendEventWithValidation to send validated events directly. */
    networkCallsHandler: AvoNetworkCallsHandler;
    constructor(networkCallsHandler: AvoNetworkCallsHandler);
    handleTrackSchema(eventName: string, schema: Array<{
        propertyName: string;
        propertyType: string;
        children?: any;
    }>, eventId: string | null, eventHash: string | null, eventProps?: Record<string, any>): void;
    private checkIfBatchNeedsToBeSent;
    private saveEvents;
    static get cacheKey(): string;
}
