import type { PluginContext } from "../../../plugin/types";
import type { Database } from "../../../shared/sqlite";
import { type MapMemoryInput } from "./map-memories-prompt";
export interface MapMemoriesArgs {
    db: Database;
    client: PluginContext["client"];
    projectIdentity: string;
    parentSessionId: string | undefined;
    sessionDirectory: string;
    holderId: string;
    leaseKey: string;
    deadline: number;
    model?: string;
    fallbackModels?: readonly string[];
}
export interface MapMemoriesResult {
    mapped: number;
    independent: number;
    batches: number;
    remaining: number;
}
export declare function mapMemories(args: MapMemoriesArgs): Promise<MapMemoriesResult>;
/** Parse the complete manifest, normalize paths the same way verify does, and
 *  write the mappings under one lease-guarded transaction. The manifest must
 *  cover exactly this batch; unknown or missing ids reject the whole batch. */
export declare function applyBatchMappings(args: MapMemoriesArgs, batch: MapMemoryInput[], manifestText: string): Promise<{
    mapped: number;
    independent: number;
}>;
//# sourceMappingURL=map-memories.d.ts.map