import { RuntimeBrokerClient, type RuntimeBrokerClientOptions } from "./client.ts"; import { type RuntimeBrokerCommitResult } from "./contracts.ts"; import type { MailboxEnvelope } from "../extension/mailbox/types.ts"; export interface RuntimeBrokerMailboxCommitterOptions { stateDirectory: string; holderId: string; clientOptions?: Omit; clientFactory?: () => Promise; } export declare function runtimeBrokerMailboxStreamId(messageId: string): string; /** Persists the authoritative mailbox effect before the compatibility consumer publishes it. */ export declare class RuntimeBrokerMailboxCommitter { #private; constructor(options: RuntimeBrokerMailboxCommitterOptions); /** Start the client connection and expose completion for callers that must gate dispatch on readiness. */ prewarm(): Promise; commit(envelope: MailboxEnvelope): Promise; commitIfReady(envelope: MailboxEnvelope): Promise; close(): Promise; }