import type { SessionEntry } from "@sheason/pi-coding-agent";
export interface IndexSessionInput {
    agentId: string;
    sessionFile: string;
    entries: SessionEntry[];
}
export interface SearchMemoryInput {
    query: string;
    agentId?: string;
    limit?: number;
    includeToolResults?: boolean;
    scopeAgentIds?: string[];
}
export interface SearchMemoryResult {
    memoryId: string;
    agentId: string;
    sessionEntryId: string;
    timestamp: string;
    role: string;
    kind: string;
    text: string;
    score: number;
    modelProvider?: string;
    modelId?: string;
    toolName?: string;
}
export interface ListMemoryInput {
    memoryIds: string[];
    contextBefore?: number;
    contextAfter?: number;
    scopeAgentIds?: string[];
}
export interface MemoryContextResult {
    memoryId: string;
    agentId: string;
    sessionFile: string;
    sessionEntryId: string;
    items: ListedMemoryItem[];
}
export interface ListedMemoryItem {
    memoryId: string;
    sessionEntryId: string;
    parentEntryId?: string;
    timestamp: string;
    role: string;
    kind: string;
    text: string;
    modelProvider?: string;
    modelId?: string;
    toolName?: string;
    rawJson: unknown;
}
export declare class MemoryStore {
    private readonly client;
    private readonly ready;
    private writeInFlight;
    private constructor();
    static open(cwd: string): MemoryStore;
    close(): void;
    indexSession(input: IndexSessionInput): Promise<void>;
    search(input: SearchMemoryInput): Promise<SearchMemoryResult[]>;
    list(input: ListMemoryInput): Promise<MemoryContextResult[]>;
    private initialize;
    private entryToMemoryItem;
    private getItemsByIds;
    private getSessionItemsInRange;
}
//# sourceMappingURL=memory-store.d.ts.map