export type MeshReceiptKind = "device_delivered" | "account_delivered" | "read"; export type MeshDeliveryStage = "accepted" | "announced" | "delivered_to_device" | "delivered_to_account" | "read"; export type ChatMessageStatus = "local_only" | "sent" | "delivered" | "read" | "repairing"; export interface ChatAnnouncement { profile: "mesh.chat.v1"; roomId: string; authorId: string; sequence: number; objectPath: string; sentAtMs?: number; attachmentPath?: string | null; } export interface ChatReceipt { profile: "mesh.chat.v1"; roomId: string; authorId: string; recipientId: string; kind: MeshReceiptKind; receivedThrough: number; } export interface ChatHeartbeat { streamId: string; authorId: string; earliestRetainedSeq: number; latestAvailableSeq: number; } export interface ChatRepairPlanInput { roomId: string; authorId: string; earliestRetainedSeq: number; latestAvailableSeq: number; knownSequences: Iterable; } export declare function chatStreamId(roomId: string): string; export declare function chatAnnouncementTopic(roomId: string): string; export declare function chatReceiptTopic(roomId: string): string; export declare function chatMessageObjectPath(roomId: string, authorId: string, sequence: number): string; export declare function createChatAnnouncement(roomId: string, authorId: string, sequence: number, options?: { sentAtMs?: number; attachmentPath?: string | null; }): ChatAnnouncement; export declare function createChatReceipt(roomId: string, authorId: string, recipientId: string, kind: MeshReceiptKind, receivedThrough: number): ChatReceipt; export declare function createChatHeartbeat(roomId: string, authorId: string, earliestRetainedSeq: number, latestAvailableSeq: number): ChatHeartbeat; export declare function chatStatusFromMeshStage(stage: MeshDeliveryStage, options?: { repairPending?: boolean; }): ChatMessageStatus; export declare function chatRepairTargetsFromHeartbeat(input: ChatRepairPlanInput): string[]; //# sourceMappingURL=mesh-chat.d.ts.map