import type { SkillLike } from '../types/skills.js'; /** Per-agent, per-resolver-position snapshot of what each `SkillResolver` produced this * session, persisted on `runState.state.resolvedSkills`. A later turn (or a replay) reads * this instead of re-invoking a resolver against a tenant lookup that may have moved on. */ export type PersistedResolvedSkills = Record>; /** This agent's previously resolved skills for the session, if any. */ export declare function readResolvedSkillsCache(state: Record | undefined, agentId: string): Readonly> | undefined; /** * Merge this agent's freshly-computed resolver snapshot into the persisted map. Returns * whether anything actually changed, so the caller only pays for a durable write when the * snapshot is new (matching the "re-running the same change does not re-write" discipline * `ctx.ts`'s catalog announcement already follows) — not on every turn of a long session. */ export declare function mergeResolvedSkills(state: Record, agentId: string, snapshot: Record): boolean;