import type { AgentInputItem } from '../types';
import type { SessionHistoryRewriteArgs, SessionHistoryRewriteAwareSession, SessionHistoryTransactionArgs, SessionHistoryTransactionAwareSession } from './session';
import { Logger } from '../logger';
export type MemorySessionOptions = {
    sessionId?: string;
    initialItems?: AgentInputItem[];
    logger?: Logger;
};
/**
 * Simple in-memory session store intended for demos or tests. Not recommended for production use.
 */
export declare class MemorySession implements SessionHistoryRewriteAwareSession, SessionHistoryTransactionAwareSession {
    private readonly sessionId;
    private readonly logger;
    private items;
    private appliedHistoryTransactions;
    constructor(options?: MemorySessionOptions);
    getSessionId(): Promise<string>;
    getItems(limit?: number): Promise<AgentInputItem[]>;
    addItems(items: AgentInputItem[]): Promise<void>;
    popItem(): Promise<AgentInputItem | undefined>;
    clearSession(): Promise<void>;
    applyHistoryMutations(args: SessionHistoryRewriteArgs): Promise<void>;
    applyHistoryTransaction(args: SessionHistoryTransactionArgs): Promise<void>;
}
