///
import { IEventAggregator } from '@essential-projects/event_aggregator_contracts';
import { BaseSocketEndpoint } from '@essential-projects/http_node';
import { IIdentityService } from '@essential-projects/iam_contracts';
import { APIs } from '@process-engine/management_api_contracts';
export declare class EmptyActivitySocketEndpoint extends BaseSocketEndpoint {
private connections;
private notificationService;
private eventAggregator;
private identityService;
private endpointSubscriptions;
private userSubscriptions;
constructor(eventAggregator: IEventAggregator, identityService: IIdentityService, notificationService: APIs.INotificationManagementApi);
get namespace(): string;
initializeEndpoint(socketIo: SocketIO.Namespace): Promise;
dispose(): Promise;
/**
* Creates a number of Subscriptions for globally published events.
* These events will be published for every user connected to the socketIO
* instance.
*
* @async
* @param socketIoInstance The socketIO instance for which to create the
* subscriptions.
*/
private createSocketScopeNotifications;
/**
* Creates a number of Subscriptions for events that are only published for
* certain identities.
* An example would be "EmptyActivity started by User with ID 123456".
*
* @async
* @param socket The socketIO client on which to create the subscriptions.
* @param identity The identity for which to create the subscriptions
*/
private createUserScopeNotifications;
/**
* Clears out all Subscriptions for the given identity.
* Should only be used when a client disconnects.
*
* @async
* @param identity The identity for which to remove the Subscriptions.
*/
private clearUserScopeNotifications;
}