export interface HeartbeatTask {
    name: string;
    prompt: string;
    enabled?: boolean;
    /** Cron-like spec OR `every:30m` shorthand handled by runner. Currently informational. */
    schedule?: string;
}
export interface HeartbeatConfig {
    tasks: HeartbeatTask[];
    /**
     * Max combined (input+output) tokens to spend across all tasks in a single
     * heartbeat invocation. Once exceeded, remaining tasks are skipped (logged,
     * not silently dropped). Guards against the runaway-cost case: a short
     * interval × several actionable desires × deep tool loops can otherwise run
     * to millions of tokens/day unbounded. 0 / unset = no limit.
     */
    budgetTokens?: number;
}
/** Default per-run token ceiling when heartbeat.json doesn't set one. */
export declare const DEFAULT_HEARTBEAT_BUDGET_TOKENS = 500000;
export declare function loadHeartbeatConfig(): Promise<HeartbeatConfig>;
export declare const HEARTBEAT_CONFIG_PATH: string;
//# sourceMappingURL=config.d.ts.map