import { type HarneryInboxLimits, type HarneryInboxMessageRecordV1, type HarneryInboxRecordV1, type HarneryInboxStatusV1, type HarneryInboxSurfaceBudget, type HarneryInboxSurfaceResult } from "./contract.js"; export interface HarneryInboxServiceOptions { coord_root: string; limits: HarneryInboxLimits; now?: () => Date; id?: () => string; } export interface HarneryInboxSendInput { sender_instance_id: string; sender_display_name: string; recipient_instance_id: string; recipient_display_name: string; body: string; } export interface HarneryInboxSendReceipt { state: "queued"; message_id: string; body_bytes: number; synced: true; } export declare class HarneryInboxService { #private; constructor(options: HarneryInboxServiceOptions); send(input: HarneryInboxSendInput): HarneryInboxSendReceipt; records(recipientInstanceId: string): HarneryInboxRecordV1[]; pending(recipientInstanceId: string): HarneryInboxMessageRecordV1[]; status(recipientInstanceId: string): HarneryInboxStatusV1; surface(recipientInstanceId: string, emit: (messages: readonly HarneryInboxMessageRecordV1[]) => Promise | void, budget?: HarneryInboxSurfaceBudget): Promise; } export declare function inboxPath(coordRoot: string, recipientInstanceId: string): string; export declare function project(records: readonly HarneryInboxRecordV1[]): { pending: HarneryInboxMessageRecordV1[]; surfaced: ReadonlySet; lastSurfaceAt?: string; }; //# sourceMappingURL=service.d.ts.map