import { Connection, Disposable } from 'vscode-languageserver'; import * as LSP from 'vscode-languageserver-protocol'; import { MaybeAsync } from '../../utils/index.js'; import { type LoggingService } from './logging.service.js'; /** * Allows registering multiple handlers for the same notification type. */ export declare class NotificationService implements Disposable { #private; /** * Instantiates a new notification manager. */ constructor(connection: Connection, loggingService: LoggingService); dispose(): void; /** * Registers a handler for a notification. */ on(type: LSP.ProtocolNotificationType0, handler: MaybeAsync): Disposable; on(type: LSP.ProtocolNotificationType, handler: MaybeAsync>): Disposable; on(type: LSP.NotificationType0, handler: MaybeAsync): Disposable; on

(type: LSP.NotificationType

, handler: MaybeAsync>): Disposable; on(type: string, handler: MaybeAsync): Disposable; on(handler: LSP.StarNotificationHandler): Disposable; }