export declare const OBSERVATION_CUSTOM_TYPE = "om.observation";
export declare const OBSERVATIONAL_MEMORY_SNAPSHOT_CUSTOM_TYPE = "om.snapshot";
export declare const OBSERVATIONAL_MEMORY_CONTEXT_CUSTOM_TYPE = "om.snapshot.context";
export type Relevance = "low" | "medium" | "high" | "critical";
export declare const RELEVANCE_VALUES: readonly Relevance[];
export declare const MEMORY_ID_PATTERN: RegExp;
export interface ObservationRecord {
    id: string;
    content: string;
    timestamp: string;
    relevance: Relevance;
    sourceEntryIds?: string[];
}
export type LegacyReflection = string;
export interface ReflectionRecord {
    id: string;
    content: string;
    supportingObservationIds: string[];
    legacy?: boolean;
}
export type MemoryReflection = LegacyReflection | ReflectionRecord;
/**
 * Current runtime reflection alias used by pre-v4 consumers. Later producer/consumer
 * steps should migrate surfaces that need id-bearing records to MemoryReflection.
 */
export type Reflection = LegacyReflection;
export interface MemoryDetailsV3 {
    type: "observational-memory";
    version: 3;
    observations: ObservationRecord[];
    reflections: LegacyReflection[];
}
export interface MemoryDetailsV4 {
    type: "observational-memory";
    version: 4;
    observations: ObservationRecord[];
    reflections: MemoryReflection[];
}
export type SupportedMemoryDetails = MemoryDetailsV3 | MemoryDetailsV4;
export type MemoryDetails = MemoryDetailsV3;
export interface ObservationEntryData {
    records: ObservationRecord[];
    coversFromId: string;
    coversUpToId: string;
    tokenCount: number;
}
export interface RestoredMemorySnapshot {
    type: "observational-memory-snapshot";
    version: 1;
    coveredSourceCount: number;
    summary: string;
    details: SupportedMemoryDetails;
}
export declare function isReflectionRecord(v: unknown): v is ReflectionRecord;
export declare function isMemoryReflection(v: unknown): v is MemoryReflection;
export declare function reflectionContent(reflection: MemoryReflection): string;
export declare function reflectionId(reflection: MemoryReflection): string | undefined;
export declare function reflectionToPromptLine(reflection: MemoryReflection): string;
export declare function isMemoryDetailsV3(d: unknown): d is MemoryDetailsV3;
export declare function isMemoryDetailsV4(d: unknown): d is MemoryDetailsV4;
export declare function isSupportedMemoryDetails(d: unknown): d is SupportedMemoryDetails;
export declare function isMemoryDetails(d: unknown): d is MemoryDetails;
export declare function isObservationEntryData(d: unknown): d is ObservationEntryData;
export declare function isRestoredMemorySnapshot(d: unknown): d is RestoredMemorySnapshot;
//# sourceMappingURL=types.d.ts.map