interface MigrateOptions {
    /** Source legacy DB paths to import from. Defaults to both ~/.claude-memory/ and ~/.claude-cortex/ */
    sources?: string[];
    /** Target DB path. Default ~/.shieldcortex/memories.db */
    target?: string;
    /** If true, count + report only — no writes. */
    dryRun?: boolean;
}
interface SourceReport {
    path: string;
    exists: boolean;
    memoriesFound: number;
    memoriesImported: number;
    linksFound: number;
    linksImported: number;
    linksSkipped: number;
    error?: string;
}
interface MigrationReport {
    target: string;
    dryRun: boolean;
    sources: SourceReport[];
    totalMemories: number;
    totalLinks: number;
}
export declare function migrateLegacy(options?: MigrateOptions): MigrationReport;
export declare function handleMemoriesCommand(args: string[]): Promise<void>;
interface PurgeMalformedOptions {
    dbPath?: string;
    backupDir?: string;
    dryRun: boolean;
}
interface PurgeMatch {
    id: number;
    title: string;
    reason: string;
}
interface PurgeReport {
    dryRun: boolean;
    scanned: number;
    matched: PurgeMatch[];
    deleted: number;
    backupPath?: string;
}
export declare function purgeMalformed(opts: PurgeMalformedOptions): Promise<PurgeReport>;
interface RepairOptions {
    /** Path to memories.db (defaults to ~/.shieldcortex/memories.db) */
    dbPath?: string;
    /** Walk these dev roots one level deep, propose mappings unambiguously */
    scanPaths?: string[];
    /** Explicit overrides; basename → canonical-key */
    map?: Record<string, string>;
    /** Limit the scan to a single legacy project key */
    onlyProject?: string;
    /** Include short-term rows (default: long-term + episodic only) */
    includeStm?: boolean;
    /** Default false — must be true to actually write */
    execute?: boolean;
    /** When true, never prompt (used by tests). Defaults to interactive. */
    noConfirm?: boolean;
}
interface RepairProposal {
    legacy: string;
    canonical: string;
    count: number;
    source: 'map' | 'scan';
}
interface RepairReport {
    dryRun: boolean;
    proposals: RepairProposal[];
    applied: number;
    logPath?: string;
    backupPath?: string;
}
export declare function repairProjectKeys(opts?: RepairOptions): Promise<RepairReport>;
export {};
