/******************************************************************************** * Copyright (c) 2026 CrossBreeze, EclipseSource and others. * * This program and the accompanying materials are made available under the * terms of the MIT License which is available in the project root. * * SPDX-License-Identifier: MIT ********************************************************************************/ import type { DataClientProtocol, Project, ProjectsChangedEvent, TransferDiagnostic, TransferDocumentDeletedEvent, TransferDocumentDirtyChangedEvent, TransferDocumentSavedEvent, TransferDocumentsBuiltEvent, TransferDocumentUpdatedEvent, TransferElement } from '@hydranium/protocol'; import { Emitter, type Event } from '@theia/core'; /** * Default {@link DataClientProtocol} implementation for a Theia frontend: * each inbound `on*` notification is fanned out to a Theia {@link Event} so * multiple local listeners can subscribe (the framework deliberately leaves * fan-out to the consumer — see `DataClientProtocol`). * * Bind an instance as the `localTarget` of the frontend's `createRpcProxy` * (with `DATA_CLIENT_PROTOCOL_METHODS` as `localMethods`); incoming * `onDocumentUpdated` etc. dispatch to the matching method here, * which fires the paired `Event`. * * Adopters subclass to add signals that are not wire notifications, or to * expose domain-renamed aliases of these channels — the event getters stay * accessible to the subclass. */ export declare class EmitterDataClient implements DataClientProtocol { protected readonly onDocumentUpdatedEmitter: Emitter>; /** Fires for each inbound {@link onDocumentUpdated} notification. */ readonly onDidUpdateDocument: Event>; protected readonly onDocumentSavedEmitter: Emitter>; /** Fires for each inbound {@link onDocumentSaved} notification. */ readonly onDidSaveDocument: Event>; protected readonly onDocumentDirtyChangedEmitter: Emitter; /** Fires for each inbound {@link onDocumentDirtyChanged} notification. */ readonly onDidChangeDocumentDirty: Event; protected readonly onDocumentDeletedEmitter: Emitter; /** Fires for each inbound {@link onDocumentDeleted} notification. */ readonly onDidDeleteDocument: Event; protected readonly onDocumentsBuiltEmitter: Emitter; /** Fires for each inbound {@link onDocumentsBuilt} notification. */ readonly onDidBuildDocuments: Event; protected readonly onProjectsChangedEmitter: Emitter>; /** Fires for each inbound {@link onProjectsChanged} notification. */ readonly onDidChangeProjects: Event>; onDocumentUpdated(event: TransferDocumentUpdatedEvent): void; onDocumentSaved(event: TransferDocumentSavedEvent): void; onDocumentDirtyChanged(event: TransferDocumentDirtyChangedEvent): void; onDocumentDeleted(event: TransferDocumentDeletedEvent): void; onDocumentsBuilt(event: TransferDocumentsBuiltEvent): void; onProjectsChanged(event: ProjectsChangedEvent): void; } //# sourceMappingURL=emitter-data-client.d.ts.map