import { ViewKey } from "@anz-bank/vscode-sysl-model"; import { ViewDidChangeParams, ViewDidCloseParams, ViewDidHideParams, ViewDidOpenParams, ViewDidShowParams, ViewModel } from "@anz-bank/vscode-sysl-plugin"; import { ProtocolNotificationType } from "vscode-languageserver/node"; import { Document } from "../plugins/types"; /** An event that occurred in or around a view. */ export interface ViewEvent { key: ViewKey; model?: T; document?: Document; } /** * Signals a change in a view model resulting from a change to the view. * * This is not emitted following changes to the model from outside sources. */ export interface ViewModelChangeEvent extends ViewEvent { change: D; } /** A sender of LSP notifications. */ export interface NotificationSender { sendNotification(notificationType: ProtocolNotificationType, payload: T): void; } /** Manages the sending of notifications to the server. */ export declare class Notifier { private readonly client; constructor(client: NotificationSender); sendViewDidOpen(payload: ViewDidOpenParams): void; sendViewDidClose(payload: ViewDidCloseParams): void; sendViewDidShow(payload: ViewDidShowParams): void; sendViewDidHide(payload: ViewDidHideParams): void; sendViewDidChange(payload: ViewDidChangeParams): void; send(notificationType: ProtocolNotificationType, payload: T): void; }