import { PusherEventType } from '../enumerations'; import { WinstonLogger } from '../loggers'; import { PusherAuthenticateInputModel, PusherAuthenticateOutputModel, PusherAuthorizeInputModel, PusherAuthorizeOutputModel } from '../models'; import { Request } from '../types'; export declare class PusherService { private readonly winstonLogger; private readonly options; private readonly pusher; constructor(winstonLogger: WinstonLogger); authenticate({ socket_id }: PusherAuthenticateInputModel, request: Request): PusherAuthenticateOutputModel; authorize({ channel_name, socket_id }: PusherAuthorizeInputModel): PusherAuthorizeOutputModel; emit(data: T, type: PusherEventType, instanceName: string, { id, user }: Request): Promise; }