declare module 'phenix-web-proto' {
  import {ILogger} from 'services/logger/LoggerInterface';

  export class MQWebSocket {
    constructor(uri: string, logger: ILogger, protocols: unknown[], apiVersion?: string);
    onEvent(eventName: string, handler: (event: unknown) => void): void;
    onRequest(requestName: string, handler: (request: unknown) => void): void;
    sendRequest(type: string, message: unknown, callback?: (error: unknown, response: unknown) => void, settings?: unknown): void;
    sendResponse(requestId: string, type: string, message: unknown, callback?: (error: unknown, response: unknown) => void): void;
    disconnect(): void;
    disposeOfPendingRequests(): void;
    getApiVersion(): string;
  }

  export class BatchHttpProto {
    // Add methods as needed
  }

  export class MQService {
    // Add methods as needed
  }
}
