/// <reference types="node" />
import { EventEmitter } from "events";
import ILogStoreConfig from "./interface/config/ILogStoreConfig";
import IDestructable from "./interface/IDestructable";
export default class LogStore<T> implements IDestructable {
    /**
     * Subscribe in order to receive "add", "cleared" events
     */
    eventEmitter: EventEmitter;
    private readonly logs;
    private readonly config;
    private identityMap;
    private groupLeftIndex;
    private groupableConfig;
    private throttledOnGroupFinalize;
    constructor(config?: ILogStoreConfig);
    add(log: T): void;
    clear(): void;
    getAll(): T[];
    size(): number;
    destroy(): void;
    private initTransformations;
    private onAddToGroup;
    private onGroupFinalize;
}
