/**
 * session_status_manifest (T-SESSION-STATUS-MANIFEST) — ONE consolidated
 * "what is opensquid connected to" report, surfaced on every session begin
 * (startup + resume) via the SessionStart hook's
 * `hookSpecificOutput.additionalContext` (the user-visible channel).
 *
 * Supersedes the fragmented per-subsystem session-start injects: instead of
 * `check_chat_connection` (chat only) + `check_flow_health` (flow only, and
 * silent when healthy) reporting separately, this primitive emits a single,
 * ALWAYS-shown block with five sections so the user sees the full connection
 * picture every start/resume:
 *
 *   📋 opensquid — session connections
 *   • Chat:    telegram topic N (umbrella X) — receiver attached ✅ / no receiver 🔌
 *   • Flow:    gates active ✅ / INACTIVE ⛔ — <problems> (preserves the F3 signal)
 *   • Packs:   loaded names + count
 *   • Daemon:  always-on chat-daemon reachable ✅ / down 🔌
 *   • Engine:  loop-engine memory up ✅ / down 🔌
 *
 * DRY: the Flow section reuses `flowEnforcementProblems` (the exact detection
 * behind `check_flow_health`). Chat/Packs/Daemon/Engine are composed from the
 * shared library functions. (Track-2 cleanup: when the session attaches to the
 * daemon as the live receiver, `check_chat_connection`/`check_flow_health` — now
 * registered-but-unwired — retire in favor of this manifest.)
 *
 * Fail-quiet, NEVER throws (a SessionStart hook must exit 0): each section is
 * independently guarded — one probe failing degrades to "<section>: unknown"
 * and never blanks the others. Engine/daemon probes NEVER spawn (daemon = ping
 * an existing UDS; engine = sock-exists + pid-alive), so a status read cannot
 * start a subsystem.
 *
 * Imports from: node:fs, node:fs/promises, node:path, zod, ../channels/routing.js,
 *   ../chat_daemon/client.js, ../runtime/chat/live_session_lease.js,
 *   ../runtime/paths.js, ../runtime/result.js, ../runtime/bootstrap.js,
 *   ./check_flow_health.js.
 * Imported by: src/runtime/bootstrap.ts (registry wiring).
 */
import { z } from 'zod';
import type { FunctionDef } from './registry.js';
declare const NoArgs: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
interface ManifestResult {
    kind: 'inject_context';
    content: string;
}
export declare const SessionStatusManifest: FunctionDef<z.input<typeof NoArgs>, ManifestResult | null>;
export {};
//# sourceMappingURL=session_status_manifest.d.ts.map