import { BufferedEvent, PinpointEventBufferConfig } from '../types/buffer';
import { AWSCredentials, AuthSession } from '../../../singleton/Auth/types';
export declare class PinpointEventBuffer {
    private _config;
    private _interval;
    private _buffer;
    private _pause;
    private _flush;
    constructor(config: PinpointEventBufferConfig);
    push(event: BufferedEvent): void;
    pause(): void;
    resume(): void;
    flush(): void;
    identityHasChanged(identityId: AuthSession['identityId']): boolean;
    haveCredentialsChanged(credentials: AWSCredentials): boolean;
    flushAll(): void;
    private _startLoop;
    private _sendBatch;
    private _putEvents;
    private _generateBatchEventParams;
    private _handlePutEventsFailure;
    private _processPutEventsSuccessResponse;
    private _retry;
    private _bufferToMap;
}
