import { type ParsedArgs } from "@cotal-ai/core"; import { type OutputWarning, type Presentation } from "@cotal-ai/workspace"; /** The controller route applies whenever the root has a stack journal. */ export declare function controllerStackRecorded(root: string): boolean; export declare function validateStackDownArguments(root: string, values: ParsedArgs["values"]): void; /** A bare down of a stack that is not running stops nothing. It answers with a no-op and writes * nothing, so it needs no --yes, and its preview shows the same. Before it says so it reads the * root's process records: every descriptor's for this stack's space, and a `{space}` descriptor's * for any space its records name. One that may still front a process refuses instead, naming each * record and its pid in the message and the remedy, because no command shows another space's * records; nothing is stopped, adopted or removed. A real --with-agents refuses too, because no * running manager can stop the agents, unless the caller knows none can remain: the last down took * --with-agents, or the root never started a stack. Its preview shows the no-op. The legacy route * answers the same way. `warnings` report what this command changed before it found nothing running. */ export declare function nothingRunning(presentation: Presentation, target: { root: string; space?: string; server?: string; }, withAgents: boolean, warnings?: readonly OutputWarning[]): void; export declare function stackDown(rootInput: string, values: ParsedArgs["values"]): Promise; //# sourceMappingURL=stack-down.d.ts.map