import { EventEmitter } from 'eventemitter3'; import { EmberElement, EmberFunction, InvocationResult, Parameter, Matrix, Connections } from '../../model/index.js'; import { Collection, NumberedTreeNode, EmberValue } from '../../types/types.js'; import { Invoke } from '../../model/Command.js'; import { Connection } from '../../model/Connection.js'; import S101Socket from '../Socket/S101Socket.js'; export type EmberServerEvents = { error: [Error]; clientError: [client: S101Socket, error: Error]; }; export declare class EmberServer extends EventEmitter { address: string | undefined; port: number; tree: Collection>; onInvocation?: (emberFunction: NumberedTreeNode, invocation: NumberedTreeNode) => Promise; onSetValue?: (parameter: NumberedTreeNode, value: EmberValue) => Promise; onMatrixOperation?: (Matrix: NumberedTreeNode, connection: Connections) => Promise; private _server; private _clients; private _subscriptions; constructor(port: number, address?: string); init(tree: Collection>): Promise; discard(): void; update(element: NumberedTreeNode, update: Partial): void; updateMatrixConnection(element: NumberedTreeNode, update: Connection): void; private _handleIncoming; private _handleNode; private _handleMatrix; private _handleSetValue; private _handleCommand; getElementByPath(path: string, delimiter?: string): NumberedTreeNode | undefined; private _subscribe; private _unsubscribe; private _clearSubscription; private _handleGetDirectory; } //# sourceMappingURL=index.d.ts.map