import { type RunStore } from "../run-state/index.js";
import type { SeedAgentMessageDeliveryAttempt, SeedAgentMessageEnvelope, SeedAgentMessageInput, SeedAgentMessageStatus } from "./types.js";
export declare function messageBusRoot(store: RunStore, runId: string): string;
export declare function messageBodiesRoot(store: RunStore, runId: string): string;
export declare function messageEnvelopesPath(store: RunStore, runId: string): string;
export declare function messageDeliveryPath(store: RunStore, runId: string): string;
export declare function enqueueAgentMessage(store: RunStore, runId: string, input: SeedAgentMessageInput): Promise<SeedAgentMessageEnvelope>;
export declare function listAgentMessages(store: RunStore, runId: string, filter?: {
    status?: SeedAgentMessageStatus;
    to?: string;
    from?: string;
}): Promise<SeedAgentMessageEnvelope[]>;
export declare function getAgentMessage(store: RunStore, runId: string, messageId: string): Promise<SeedAgentMessageEnvelope | undefined>;
export declare function queueStats(store: RunStore, runId: string): Promise<Record<SeedAgentMessageStatus, number>>;
export declare function patchAgentMessage(store: RunStore, runId: string, messageId: string, patch: Partial<Omit<SeedAgentMessageEnvelope, "version" | "run_id" | "message_id" | "created_at">>): Promise<SeedAgentMessageEnvelope | undefined>;
export declare function appendDeliveryAttempt(store: RunStore, runId: string, input: Omit<SeedAgentMessageDeliveryAttempt, "version" | "run_id" | "at"> & {
    at?: string;
}): Promise<void>;
