import { SignalCb, EntryVisibility, Timestamp, ZomeIndex } from "@holochain/client"; import { ActionId, AgentId, LinkableId, EntryId, EntryPulse, LinkPulse, SignalLog, TipProtocol, ZomeSignalProtocol, ValidatedBy } from "@ddd-qc/cell-proxy"; import { ZomeViewModel } from "./ZomeViewModel"; export interface CastLog { ts: Timestamp; tip: TipProtocol; peers: AgentId[]; response: Timestamp | undefined; } export declare abstract class ZomeViewModelWithSignals extends ZomeViewModel { private _castLogs; protected handleCustomTip(_customTip: Uint8Array, _from: AgentId): ZomeSignalProtocol | undefined; protected handleValueTip(_key: string, _value: string, _from: AgentId): ZomeSignalProtocol | undefined; protected handleEntryPulse(_pulse: EntryPulseMat, _from: AgentId): Promise; protected handleLinkPulse(_pulse: LinkPulseMat, _from: AgentId): Promise; signalHandler?: SignalCb; private mySignalHandler; private _knownPulses; private handleSignal; private handleTip; synchronizeValueTip(key: string, value: string, recipient: AgentId, zomeName: string): void; synchronizeCustomTip(appTip: Uint8Array, recipient: AgentId, zomeName: string): void; broadcastTip(tip: TipProtocol, agents?: Array, timeoutMs?: number): void; dumpCastLogs(): void; private tip2Log; dumpSignalLogs(signalLogs: SignalLog[]): void; } export interface EntryPulseMat { origAh: ActionId | null; ah: ActionId; state: string; validatedBy: ValidatedBy; isNew: boolean; ts: Timestamp; author: AgentId; eh: EntryId; entryType: string; visibility: EntryVisibility; bytes: Uint8Array; } export declare function materializeEntryPulse(entryPulse: EntryPulse, entryTypes: string[]): EntryPulseMat; export declare function dematerializeEntryPulse(pulse: EntryPulseMat, entryTypes: string[]): EntryPulse; export interface LinkPulseMat { author: AgentId; base: LinkableId; target: LinkableId; timestamp: Timestamp; zome_index: ZomeIndex; link_type: string; tag: Uint8Array; create_link_hash: ActionId; state: string; validatedBy: ValidatedBy; isNew: Boolean; } export declare function materializeLinkPulse(linkPulse: LinkPulse, linkTypes: string[]): LinkPulseMat; export declare function dematerializeLinkPulse(pulse: LinkPulseMat, linkTypes: string[]): LinkPulse; //# sourceMappingURL=ZomeViewModelWithSignals.d.ts.map