import type { Conversation, Harness, Storage, Submission } from "@earendil-works/pi-durable"; import type { Context } from "@earendil-works/chord"; export interface PiDurableMessageOptions { /** Stable caller-issued identity. Retrying the same message is a no-op, including after reattachment. */ requestId?: string; } type SettledSubmission = Awaited>; /** One completion boundary over the initial submission and every host-admitted steer/follow-up. */ export declare function openDurableControls(options: { durable: typeof import("@earendil-works/pi-durable"); context: Context; harness: Harness; storage: Storage; conversation: Conversation; initial: Submission; runId: string; serialize: (operation: () => Promise) => Promise; closed: () => boolean; }): Promise<{ send: (kind: "steer" | "followUp", message: string, data?: unknown) => Promise; wait: () => Promise; stop(): Promise; liveness(): Promise<"running" | "settled" | "cancelled" | "interrupted">; }>; export type PiDurableControls = Awaited>; export {}; //# sourceMappingURL=durable-controls.d.ts.map