///
import { EventEmitter } from 'events';
import { IShipConnectionOptions, ShipBlockResponse } from './types/ship';
import { IShipConsumer } from './types/interfaces';
import { EOSJsDeserializer } from './deserializer/eos-js-deserializer';
interface IStateHistoryConnectionParams {
endpoint: string;
connectionOptions?: IShipConnectionOptions;
deserializer?: EOSJsDeserializer;
}
export declare class StateHistoryConnection extends EventEmitter {
private readonly endpoint;
private connectionOptions;
private shipOptions;
private consumer;
private requiredDeltas;
private abi?;
private types?;
private ws?;
private connected;
private connecting;
private stopped;
private blocksQueue;
private deserializer;
private unconfirmed;
constructor(params: IStateHistoryConnectionParams);
connect(): void;
reconnect(): void;
send(request: [string, any]): void;
onConnect(): void;
getQueueSize(): number;
onMessage(data: any): Promise;
onClose(): Promise;
requestBlocks(): void;
startProcessing(consumer: IShipConsumer): Promise;
stopProcessing(): void;
processBlock(block: ShipBlockResponse): Promise;
private deserialize;
private deserializeArray;
private deserializeDeltas;
}
export {};