import type { DbClient } from './agentPresence.js'; export declare class RoomError extends Error { } export interface RoomCommand { id: string; org_id: string; project_id: string | null; room_id: string | null; message_id: string | null; kind: string; status: string; payload: { project_key?: string; from?: { name?: string; }; } | null; result?: Record | null; } export interface ReplyResult { message_id: string; final: boolean; } /** Post the agent's reply into the room. final=true closes the request. */ export declare function roomReply(client: DbClient, commandId: unknown, textIn: unknown, final?: boolean): Promise; export interface ShipRequest { ask_id: string; approver: string; } /** * The only route to shipping: ask the owners of the project's owning org * (hq.ship_approvers) through the asks facade. The agent stops here; Ben's yes * goes to him or his own session, never back to the room session. */ export declare function roomRequestShip(client: DbClient, commandId: unknown, prIn: unknown): Promise; /** Atomic claim of a queued room command. False means another session won it. */ export declare function claimRoomCommand(client: DbClient, commandId: string, sessionKey: string, host: string): Promise; //# sourceMappingURL=roomsCore.d.ts.map