import { type Principal } from "./core/index.js"; import type { VendoComposition } from "./compose-context.js"; /** Who a CODE-authored automation belongs to. `.on()`'s consent is the code * itself rather than any person's grant, so every declaration in a deployment * shares ONE owner — which is also what lets a single reconcile disarm the * automations of an agent that was dropped from `agents: []` altogether. */ export declare const CODE_AUTOMATION_OWNER: Principal; /** Arm the newest composition's dev ticker and retire the previous one — * ADOPT, never duplicate (#1250). Next dev re-evaluates route modules on * every recompile, and each evaluation builds a fresh composition whose * closure guard (and module state) resets with it; after hours of * recompiles a dev server carried dozens of live tickers, all sweeping the * store every minute (field: linkwarden 2026-08-13). A boolean once-guard * stopped the stacking but left the FIRST composition's ticker firing * through a retired engine forever (PR #1254 review) — so arming stops the * predecessor's interval (the engine's own `start()` hands back its stop) * and starts the newcomer's, keeping exactly one ticker, bound to the * composition actually serving requests. The slot rides globalThis via * Symbol.for so it survives module re-evaluation. */ export declare function armDevTicker(start: () => () => void, host?: Record): void; /** The automations engine, the create seam the apps doors author through, and * the boot reconcile the ready() latch drives. */ export declare const composeAutomations: (composition: VendoComposition) => Pick;