import { type NodeMeta } from '../canvas/index.js'; /** True when the node's broker engine is reachable: its recorded pid is alive * AND its view.sock exists. Both are required — a dead pid with a stale socket, * or a live pid mid-boot before it binds the socket, is NOT a live broker. */ export declare function isBrokerLive(meta: NodeMeta): boolean; /** Swap a LIVE node's model over its view.sock. Connects, claims controller * (hello + request_control, so an attached viewer never blocks the swap), sends * `set_model`, and resolves with the broker-resolved `provider/id` on its ack — * read back from the row the broker just persisted (model_changed.model carries * only the bare id). Rejects with the broker's message on an `error` frame (e.g. * `no model matching '' in the registry`), on connect failure, or timeout. * `pinned` is the durable-pin decision for this change, made by the CALLER from * the RAW pre-normalize token (`spec` here is already normalizeModel-resolved, * so deriving the pin from `spec`'s shape would wrongly re-pin a deliberately * chosen bare tier that happens to byte-equal a ladder cell) — sent explicitly * on the frame so the broker persists that decision rather than re-inferring it * from the resolved spec. */ export declare function setModelLive(nodeId: string, spec: string, pinned: boolean): Promise; /** Persist a model choice into a DORMANT node's durable recipe — mirrors exactly * what the broker's persistModelChoice writes on a live switch: `model_override` * (so polymorphs preserve it via buildLaunchSpec) and `launch.model` (the recipe * buildPiArgv replays on revive). `spec` must already be a concrete `provider/id` * (normalizeModel maps tiers/aliases; a bare substring cannot resolve offline). * `pinned` is the durable-pin decision for this change — decided by the CALLER * from the RAW pre-normalize token, never re-derived here from `spec`'s shape * (a concrete `spec` always reads as "pinned", which would wrongly re-pin a * deliberately chosen bare tier that happens to byte-equal a ladder cell). */ export declare function persistDormantModel(nodeId: string, spec: string, pinned: boolean): void;