import { type ConductorActivityStore } from "./activity.js"; import { type ConductorNotificationStore } from "./notifications.js"; import { type ConductorWaiterStore } from "./waiter.js"; import { type LinuxProcessIdentity } from "../runtime/process-identity.js"; export interface RecoveryConductorBinding { readonly session_id: string; readonly launch_generation: number; readonly pane_id: string; readonly conductor_process: LinuxProcessIdentity; } export interface ConductorRecoveryResult { readonly status: "empty" | "waiting" | "resumed" | "deferred" | "notified" | "failed"; readonly notification_id: string | null; readonly waiter_id: string | null; readonly reason: string | null; } export declare function recoverConductorNotification(options: { readonly at: string; readonly locksRoot: string; readonly activity: ConductorActivityStore; readonly notifications: ConductorNotificationStore; readonly waiters: ConductorWaiterStore; readonly ensureConductor: () => Readonly<{ action: "created" | "resumed" | "attached"; binding: RecoveryConductorBinding; }>; readonly wakeConductor: (binding: RecoveryConductorBinding, notificationId: string) => void; readonly processIsLive?: (identity: LinuxProcessIdentity) => boolean; }): ConductorRecoveryResult;