///
import EventEmitter from 'events';
export interface Server {
host: string;
port: string;
username?: string;
password?: string;
}
export interface NotificationListenerParams {
server?: Partial;
subscribe?: string | string[];
}
export interface NotificationBase {
playerId?: string;
notification: string;
params: string[];
}
export interface Notification extends NotificationBase {
raw: string;
server: {
host: string;
port: string;
};
}
export declare class NotificationListener extends EventEmitter {
#private;
constructor(params: NotificationListenerParams);
start(): Promise;
stop(): Promise;
isConnected(): boolean;
subscribe(notification: string | string[]): Promise;
unsubscribe(notification: string | string[]): Promise;
getSubscribed(): string[];
/**
* @event
* Server connected.
* @param event
* @param listener
*/
on(event: 'connect', listener: (server: {
host: string;
port: string;
}) => void): this;
/**
* @event
* Server disconnected.
* @param event
* @param listener
*/
on(event: 'disconnect', listener: (server: {
host: string;
port: string;
}) => void): this;
/**
* @event
* Subscribed notification received.
* @param event
* @param litener
*/
on(event: 'notification', listener: (data: Notification) => void): this;
}
//# sourceMappingURL=NotificationListener.d.ts.map