import { AdditionalParameters, ConnectionManager, Dispatch, FirstEmitCallback, SocketAndManagerReservedEvents, SocketEmitWrapperFunction, SocketEventListener, StoreType } from './SocketConnectionManager.types'; declare class SocketConnectionManager { private socketsUrl; private debugMode; private additionalParameters; private setEmitQueueConstantParameters; private socketsConnected; private listeners; private listenersCallbacks; private dynamicListenersQueue; private dynamicListenersCallbacks; private socket; private getPushToEmitQueueFunction; private toEmit; private runAsFirstEmitOnConnect; private beforeConnectStarts; private managerAndSocketEventsActions; /** * This can be replaced with `setSocketEmitWrapper` in userland code */ private socketEmitWrapper; private listenWithStore; private initialRequiredEmitsAck; private requiredEmitsAckLeft; private toEmitAfterRequiredEmitsAck; constructor(socketsUrl: string, debugMode?: boolean, additionalParameters?: AdditionalParameters, setEmitQueueConstantParameters?: (>(argsRef: T, emitName: string, currentState: CurrentState) => void) | undefined); private isDebugMode; setEmitQueueConstantParametersFunction: (callback: >(argsRef: T, emitName: string, currentState: CurrentState) => void) => void; closeConnection: (closeCallback?: () => void) => void; private ackRequiredEmit; private runFirstEmitFromQueue; private runAsFirstEmit; private addToEmitQueueWithStore; private createEmitQueue; private createListenWithStore; private bindManagerHandlers; private connectToSockets; setListeners: (listenersParam: SocketEventListener[]) => void; addListener: (listener: SocketEventListener, key: string) => void; removeListener: (key: string) => void; setFirstEmits: (emits: FirstEmitCallback[]) => void; setBeforeConnectStarts: (callback: (dispatch?: Dispatch, store?: StoreType) => void) => void; setManagerEventsActions: | keyof import("./SocketConnectionManager.types").ManagerReservedEventsHandlers>(event: T, action: SocketAndManagerReservedEvents[T]) => void; setSocketEmitWrapper: (socketEmitWrapperParam: SocketEmitWrapperFunction) => void; /** * Use to set events that are required to receive ack before emitting more events. * @param requiredEmitsAck Array of event names that are required to receive ack */ setRequiredEmitsAck(requiredEmitsAck: string[]): void; connectionManager: () => ConnectionManager; } export default SocketConnectionManager; //# sourceMappingURL=SocketConnectionManager.d.ts.map