/**
 * Daemon service catalog + persistent toggle config.
 *
 * Defines the services the daemon hosts, loads their on/off state from
 * ~/.agents/daemon/services.yaml, and exposes lightweight helpers so both the
 * daemon and service clients (e.g. secrets) can check whether a service is
 * enabled without pulling in the whole daemon lifecycle.
 */
/** Every service the daemon can host. IDs are kebab-case and stable. */
export type DaemonServiceId = 'secrets-broker' | 'scheduler' | 'catchup' | 'monitors' | 'browser-ipc' | 'webhook-receiver' | 'self-heal' | 'self-update' | 'keychain-reap' | 'account-state' | 'account-auth' | 'watchdog' | 'device-probe' | 'state-dir-check' | 'session-index' | 'auth-sync' | 'usage-sync' | 'daemon-heartbeat' | 'tmux-reap' | 'browser-task-reap' | 'session-state' | 'session-summarizer';
/** Human-readable metadata for each service. */
export interface DaemonServiceDef {
    id: DaemonServiceId;
    title: string;
    description: string;
}
export declare const DAEMON_SERVICES: DaemonServiceDef[];
/** Stable order of service IDs. */
export declare const DAEMON_SERVICE_IDS: DaemonServiceId[];
/** Persistent service toggles. */
export interface DaemonServicesConfig {
    services: Record<DaemonServiceId, boolean>;
}
/** Path to ~/.agents/daemon/services.yaml. */
export declare function getDaemonServicesConfigPath(): string;
/**
 * Read the services config from disk. Missing or malformed files return the
 * default (all services enabled). Never throws.
 */
export declare function readDaemonServicesConfig(): DaemonServicesConfig;
/**
 * Write the services config to disk, creating the daemon config dir if needed.
 * Preserves unknown keys/ordering in the existing file when possible.
 */
export declare function writeDaemonServicesConfig(cfg: DaemonServicesConfig): void;
/**
 * Check whether a single service is enabled. Returns true (enabled) when the
 * config file is missing or the ID is unknown, so disabling must be explicit.
 */
export declare function isDaemonServiceEnabled(id: DaemonServiceId): boolean;
/**
 * Toggle one service and persist. Returns the new config.
 */
export declare function setDaemonServiceEnabled(id: DaemonServiceId, enabled: boolean): DaemonServicesConfig;
/**
 * List every known service with its current enabled state and metadata.
 */
export declare function listDaemonServiceStates(): Array<DaemonServiceDef & {
    enabled: boolean;
}>;
/** Queue a live restart for `id`, to be picked up on the next SIGHUP reload. */
export declare function queueDaemonServiceRestart(id: DaemonServiceId): void;
/**
 * Drain every queued restart request. Called once per SIGHUP reload by the
 * daemon; never throws. Clears the file so a request is applied at most once.
 */
export declare function drainDaemonServiceRestartQueue(): DaemonServiceId[];
