import type { SendResult } from "./conversation-manager.js"; import { type Party } from "./party.js"; import { type RuntimeParticipantConversationSubject, type RuntimeServicesDisclosedParticipant } from "./services-client/index.js"; export interface DisclosedPeer { kind: "node" | "session"; nodeAddress?: string; nodeHandle?: string; name?: string; } export interface DisclosedConversation { conversationRef: string; selfParticipantRef: string; lastActivityAt: string; peer: DisclosedPeer; } export interface PendingContinuation { sendRequestId: string; conversationRef?: string; addressedPartyRef?: string; createdAt: string; } export declare function defaultContinuityPath(accountId: string): string; export declare function credentialFingerprint(runtimeKey: string): string; export declare class ContinuityStore { private readonly path; private readonly credential; private file; private warnedUnreadable; private warnedUnwritable; constructor(path: string, credential: string); private emptyFile; load(): Promise; conversationsWith(party: Party): DisclosedConversation[]; remember(entry: DisclosedConversation): Promise; rememberListed(entries: DisclosedConversation[]): Promise; touch(conversationRef: string): Promise; rememberPresented(digest: string, to: string): Promise; presentedTo(digest: string): string | undefined; recordPending(pending: PendingContinuation): Promise; pendingCount(): number; settlePending(sendRequestId: string): Promise; private prune; private persist; } export declare function sendRefusalText(party: string): string; export declare function partyOfPeer(peer: DisclosedPeer): Party | undefined; export interface ServicesContinuationOptions { apiHost: string; runtimeKey: string; store: ContinuityStore; fetch?: typeof fetch; } export declare class ServicesContinuation { private readonly clientConfig; private readonly runtimeKey; private readonly store; constructor(options: ServicesContinuationOptions); load(): Promise; rememberPresented(digest: string, to: string): Promise; presentedTo(digest: string): string | undefined; remember(input: { subject: RuntimeParticipantConversationSubject; messageRef: string; sender?: { handle?: string; address?: string; }; }): Promise; rememberListed(rows: Array<{ conversationRef: string; selfParticipantRef: string; counterparty: RuntimeServicesDisclosedParticipant; lastActivityAt: string; }>): Promise; conversationsWith(party: Party): DisclosedConversation[]; continueConversation(conversation: DisclosedConversation, content: string): Promise; } //# sourceMappingURL=services-continuation.d.ts.map