/**
 * ConversationContext types — tiered memory for multi-turn agents.
 * @public @since 2.3.0
 */
/** A single conversation turn (non-system). */
export interface Turn {
    readonly role: "user" | "assistant";
    readonly content: string;
    /** Optional metadata captured at addTurn() time. */
    readonly meta?: {
        readonly timestamp?: number;
        readonly tokensIn?: number;
        readonly tokensOut?: number;
        readonly model?: string;
        readonly provider?: string;
    };
}
/** A compacted summary of N prior turns. */
export interface CompactionSummary {
    /** When the compaction happened (epoch ms). */
    readonly createdAt: number;
    /** Number of turns summarized. */
    readonly turnCount: number;
    /** Estimated token count of the original turns. */
    readonly originalTokens: number;
    /** The summary text (LLM-generated). */
    readonly text: string;
}
/** Return value of compact(). */
export interface CompactionReport {
    readonly turnsBefore: number;
    readonly turnsAfter: number;
    readonly summariesAdded: number;
    readonly tokensEstimatedBefore: number;
    readonly tokensEstimatedAfter: number;
}
/** Serialization snapshot written by toJSON() / read by fromJSON(). */
export interface ConversationContextSnapshot {
    readonly version: 1;
    readonly workingMemorySize: number;
    readonly turns: readonly Turn[];
    readonly summaries: readonly CompactionSummary[];
}
/**
 * Chat-style message returned by toMessages() for react/plan strategies.
 * Identical shape to StrategyMessage but without tool-call fields.
 */
export interface LLMMessage {
    readonly role: "system" | "user" | "assistant";
    readonly content: string;
}
/** Options for ConversationContext constructor. */
export interface ConversationContextOpts {
    /** How many recent turns to keep verbatim during compaction. Default: 6. */
    readonly workingMemorySize?: number;
}
//# sourceMappingURL=types.d.ts.map