/**
 * `agents message <target> <text>` — send a message to a running or parked agent.
 *
 * Delivery is routed by agent state (RUSH-1474):
 *   - running, between tool calls → mailbox spool (PreToolUse inject)
 *   - parked on AskUserQuestion with a tmux/iterm/pty rail → keystroke inject
 *   - parked headless (no rail) → `agents run --resume <id> -- <answer>`
 *   - cloud task → provider.message()
 *
 * Cross-host is handled one layer up: `--device <h>` routes the whole command over
 * ssh via `REMOTE_PASSTHROUGH` (see src/lib/hosts/passthrough.ts), so the box is
 * written on the host that actually owns the agent. A caller who doesn't already
 * know the host (a detached `agents run --device <h> --no-follow` dispatch) is
 * still resolved automatically: a `target` matching no local/cloud session falls
 * through to the `~/.agents/.cache/hosts/` records `agents devices ps` reads
 * (RUSH-2366 follow-up — see decideHostTaskRoute in lib/mailbox-target.ts), and
 * the message is rerouted there.
 *
 * For local agents, the message is tied to the agent's current open feed block
 * (if any). The first answer to a block wins: a second concurrent answer is
 * rejected with the surface that already answered. Delivery receipts
 * (queued → consumed → continued) are surfaced in the feed store.
 */
import type { Command } from 'commander';
export declare function registerMessageCommand(program: Command): void;
