import type { ResourceIdentifier, ActionOrActionTupleFromAction, AnyAction, IOEvents, MovexClient, SanitizedMovexClient } from 'movex-core-util'; import { type ConnectionToMaster } from './ConnectionToMaster'; /** * This handles the connection with Master per ResourceType */ export declare class ConnectionToMasterResources { private connectionToMaster; private fwdActionEventPubsy; private reconciliatoryActionEventPubsy; private subscriberAddedEventPubsy; private subscriberRemovedEventPubsy; private unsubscribers; constructor(resourceType: TResourceType, connectionToMaster: ConnectionToMaster); create(resourceType: TResourceType, resourceState: TState, resourceId?: string): import("ts-async-results").AsyncResultWrapper, unknown>; addResourceSubscriber(rid: ResourceIdentifier): import("ts-async-results").AsyncResultWrapper, unknown>; getState(rid: ResourceIdentifier): import("ts-async-results").AsyncResultWrapper, unknown>; getSubscribers(rid: ResourceIdentifier): import("ts-async-results").AsyncResultWrapper, "id" | "info">>, unknown>; getResource(rid: ResourceIdentifier): import("ts-async-results").AsyncResultWrapper, unknown>; emitAction(rid: ResourceIdentifier, actionOrActionTuple: ActionOrActionTupleFromAction): import("ts-async-results").AsyncResultWrapper<({ type: "ack"; nextChecksum: string; } | { type: "masterActionAck"; nextCheckedAction: import("movex-core-util").ToCheckedAction; } | ({ type: "reconciliation"; } & import("movex-core-util").CheckedReconciliatoryActions)) & { masterContext: import("movex-core-util").MovexMasterContext; }, string>; onFwdAction(rid: ResourceIdentifier, fn: (p: Parameters['onFwdAction']>[0]) => void): () => void; onReconciliatoryActions(rid: ResourceIdentifier, fn: (p: Parameters['onReconciliateActions']>[0]) => void): () => void; onSubscriberAdded(rid: ResourceIdentifier, fn: (clientId: SanitizedMovexClient) => void): () => void; onSubscriberRemoved(rid: ResourceIdentifier, fn: (clientId: MovexClient['id']) => void): () => void; destroy(): void; }