import { type TmuxResult } from './ensure-tmux.js'; import { type FontResult } from './ensure-fonts.js'; import { type HerdrResult } from './ensure-herdr.js'; import { type HerdrIntegrationResult } from './ensure-herdr-integrations.js'; export interface DependenciesReport { tmux: TmuxResult; fonts: FontResult; herdr?: HerdrResult; herdrIntegrations?: HerdrIntegrationResult; } export { botmuxFontDir } from './ensure-fonts.js'; /** * Decide whether `botmux start`/`restart` should HARD-FAIL (refuse to spawn the * daemon) because tmux is missing. PR#289 Option A. * * Hard-fail ONLY when ALL of: * - the tmux binary is GENUINELY ABSENT (`tmuxBinaryPresent === false`). This * is deterministic and implies there is no tmux server — hence no surviving * session to protect — so refusing to start loses nothing. * - at least one bot actually wants the tmux backend (`anyBotWantsTmux`). A * box whose bots all run pty/herdr/zellij/zmx doesn't need tmux at all. * - the operator hasn't opted into the PTY escape hatch (`BACKEND_TYPE=pty`). * * Crucially we do NOT hard-fail when the binary IS present but its functional * probe failed: that probe is the same disposable `tmux new-session` check the * per-session gate retries, and a transient flake there must not block the * daemon from coming up and reattaching live sessions — that would re-introduce * the PR#249 false-negative at startup granularity. Present-but-broken tmux * degrades gracefully via the per-session worker gate (an actionable card). */ export declare function shouldHardFailStartupForMissingTmux(opts: { tmuxInstalled: boolean; tmuxBinaryPresent: boolean; anyBotWantsTmux: boolean; ptyOptIn: boolean; }): boolean; export declare function ensureDependencies(): Promise; //# sourceMappingURL=index.d.ts.map