/** * Static built-in daemon controller map. * * Controllers are deliberately static rather than a mutable plugin registry. */ import type { Settings } from "../config/settings"; import { type ChatDaemonControlDeps } from "../sdk/bus/chat-daemon-control"; import { type TelegramDaemonControlDeps } from "../sdk/bus/telegram-daemon-control"; import type { BuiltInDaemonController, DaemonKind } from "./control-types"; export declare const BUILT_IN_DAEMON_KINDS: readonly ["telegram", "discord", "slack"]; export interface BuiltInDaemonControllerDeps { telegram?: TelegramDaemonControlDeps; discord?: ChatDaemonControlDeps; slack?: ChatDaemonControlDeps; } export declare function createBuiltInDaemonControllers(settings: Settings, deps?: BuiltInDaemonControllerDeps): Record; /** * Resolve the controllers a command should act on. `--all` selects every * built-in kind; otherwise the explicit `kinds` (defaulting to `telegram`). */ export declare function selectDaemonControllers(settings: Settings, kinds: DaemonKind[] | undefined, all: boolean, deps?: BuiltInDaemonControllerDeps): BuiltInDaemonController[];