import { Nullable } from '../../types/general'; import { DomNodeSubject } from '../change-manager/subject/dom-node-subject/dom-node-subject'; /** * The `RemoteInvocationRegistry` provides methods for performing remote invocation calls * and registering remote invocation handlers. */ export declare class RemoteInvocationRegistry { /** * This function performs a remote invocation call and returning the result. * * @typedef T generic type * @param {HTMLElement} subject the dom node subject * @param {unknown[]} args - The `args` parameter of specific method. * @returns {Nullable} The result of call `remoteInvocation`. */ call(subject: DomNodeSubject, ...args: unknown[]): Nullable; /** * The function registers a remote invocation handler. * * @param {HTMLElement} subject the dom node subject * @param {Function}remoteInvocationHandler - The method that is ultimately called. */ register(subject: DomNodeSubject, remoteInvocationHandler: (...args: unknown[]) => T): void; /** * The function un-registers a remote invocation call handler. * * @param {HTMLElement} subject the dom node subject */ unRegister(subject: DomNodeSubject): void; /** * The function isAcceptableObserver checks if the input matches a specified type T. * * @param {unknown} _input - The `_input` parameter is of type `unknown`, which means it can hold any * value. * @returns {boolean} The `isAcceptableObserver` function is returning `true`. */ private isAcceptableObserver; } declare const _default: RemoteInvocationRegistry; export default _default;