import type { PromptContributionRegistry } from '../../prompt/contributions.js'; import type { AgentRuntimeContext } from '../../types/agent/base.js'; import type { AgentContextLevel } from '../../types/agent/factory.js'; import type { AgentPersona } from '../../types/persona/index.js'; import type { ProjectId } from '../../types/session/ids.js'; import type { Skill } from '../../types/skills/index.js'; import type { ToolRegistryContract } from '../../types/tool/index.js'; import { type PromptSegments } from './prompt.js'; export interface PromptCacheConfig { agentId: string; projectId: ProjectId; } export interface PromptCacheInput { systemPrompt?: string; persona?: AgentPersona; skills?: Skill[]; basePrompt?: string; tools: ToolRegistryContract; allowedTools?: string[]; runtimeContext?: AgentRuntimeContext; contributions?: PromptContributionRegistry; } export declare class PromptCache { readonly projectId: ProjectId; readonly agentId: string; private cachedPrompt; private cachedConfigHash; private cachedStaticSegment; private cachedStaticHash; constructor(config: PromptCacheConfig); getSystemPrompt(input: PromptCacheInput): string; get configHash(): string | undefined; needsRebuild(input: PromptCacheInput): boolean; getSystemPromptSegmented(input: PromptCacheInput, contextLevel?: AgentContextLevel, workingDirectory?: string): PromptSegments; invalidate(): void; private computeStaticHash; private computeConfigHash; } //# sourceMappingURL=prompt-cache.d.ts.map