import type { AgentTool } from "@kenkaiiii/gg-agent"; export declare const JIWA_SOFT_LIMIT = 60; export declare const JIWA_HARD_LIMIT = 90; export declare const JIWA_TEXT_LIMIT = 600; export declare const JIWA_CATEGORIES: readonly ["identity", "voice", "interaction", "boundaries", "workflow", "other"]; export type JiwaCategory = (typeof JIWA_CATEGORIES)[number]; export interface JiwaEntry { id: string; text: string; category: JiwaCategory; importance: number; createdAt: string; updatedAt: string; } export interface JiwaSnapshot { jiwa: JiwaEntry[]; softLimit: number; hardLimit: number; } export interface JiwaMutationResult { entry?: JiwaEntry; jiwa: JiwaEntry[]; duplicateOf?: JiwaEntry; deleted?: boolean; forgotten?: number; } export interface JiwaStoreOptions { filePath?: string; onChange?: (snapshot: JiwaSnapshot) => void | Promise; now?: () => Date; } export declare class JiwaStore { readonly filePath: string; private readonly onChange?; private readonly now; constructor(options?: JiwaStoreOptions); list(): Promise; snapshot(): Promise; set(content: string, category?: JiwaCategory, importance?: number): Promise; update(id: string, content: string, category?: JiwaCategory, importance?: number, forgetIds?: string[]): Promise; forget(id: string): Promise; renderForPrompt(): string; private mutate; private normalizeText; private normalizeImportance; private toSnapshot; private parse; private readFile; private readFileSync; private writeFile; } export declare function buildJiwaTools(store: JiwaStore): AgentTool[]; //# sourceMappingURL=jiwa.d.ts.map