import type { RailSession as Session } from "./session-list-entry.js"; /** * `requires_action` that a person can act on. A session the runtime could not * start (it carries an admission block) reads as Stuck with its own Retry, so * it is not counted as waiting on the person. */ export declare function awaitsPerson(session: Session): boolean; /** * True when the root itself is blocked on a human (approval/input requested, * or failed), or any spawned descendant is (`attentionDescendants`). */ export declare function rootNeedsYou(session: Session): boolean; /** How many loaded, unarchived workstreams need the person. */ export declare function countNeedsYou(sessions: readonly Session[]): number; /** * The rows of the "Needs you" view: every workstream (root) that needs a human, * with its spawned agents so a parent keeps showing the sub-agent that is * waiting. A flat projection (search) can hold a child without its root, so a * child that itself needs a human is kept on its own. */ export declare function filterNeedsYou(sessions: readonly T[]): T[];