import type { Capability, KernelLike, Logger } from '../types.js'; export type GoalTrigger = { kind: 'interval'; everyMs: number; } | { kind: 'idle'; afterMs: number; } | { kind: 'once'; }; export interface Goal { id: string; prompt: string; capabilities: Capability[]; trigger: GoalTrigger; enabled: boolean; runCount: number; lastRunAt?: number; running: boolean; } export interface GoalInput { prompt: string; capabilities?: Capability[]; trigger: GoalTrigger; } export interface GoalLoopDeps { kernel: KernelLike; logger: Logger; /** Tick cadence for evaluating triggers (default 1s). */ tickMs?: number; } export declare class GoalLoop { private deps; private goals; private timer?; private unsub?; private lastActivity; private readonly tickMs; constructor(deps: GoalLoopDeps); add(input: GoalInput): Goal; remove(id: string): boolean; setEnabled(id: string, enabled: boolean): void; list(): Goal[]; start(): void; private tick; private shouldRun; private run; stop(): void; }