/** * Survival module — monitors ETH balance and determines operational tier. * * Tiers control what the agent is allowed to do: * normal (>= 0.01 ETH) — Full capabilities, all skills enabled * low_compute (>= 0.001 ETH) — Cheaper inference model, reduced heartbeat freq * critical (>= 0.0001 ETH) — Emergency mode: only claim fees and check balance * dead (< 0.0001 ETH) — Agent halts, cannot act */ import type { PublicClient, Address } from 'viem'; import type { StateStore } from '../state/index.js'; import type { SurvivalState, SurvivalTier, AutonomyConfig } from '../types.js'; /** * Determine survival tier from ETH balance. * Accepts optional overrides from AutonomyConfig. */ export declare function determineTier(ethBalance: bigint, autonomy?: AutonomyConfig): SurvivalTier; export declare class SurvivalMonitor { private publicClient; private address; private state; private autonomy?; constructor(publicClient: PublicClient, address: Address, state: StateStore, autonomy?: AutonomyConfig | undefined); /** * Check current ETH balance, update tier, persist to state. */ check(): Promise; /** * Get current survival state from DB (no RPC call). */ getCached(): SurvivalState; /** * Check if a given skill is allowed at the current tier. */ isSkillAllowed(skillName: string, tier: SurvivalTier): boolean; /** * Get the inference model to use for the current tier. */ getModel(tier: SurvivalTier, config: { model: string; fallbackModel: string; }): string; /** * Get heartbeat interval multiplier for current tier. * Higher tier = less frequent heartbeats to conserve compute. */ getHeartbeatMultiplier(tier: SurvivalTier): number; /** * Record a fee claim. */ recordFeeClaim(amount: bigint): void; } export declare function formatSurvivalStatus(state: SurvivalState): string; //# sourceMappingURL=index.d.ts.map