/**
 * Database Migration Utility
 *
 * Migrates existing JSON-based storage to SQLite database.
 *
 * Supports migration of:
 * - Memories from enhanced-memory.ts
 * - Sessions from session-store.ts
 * - Cache from semantic-cache.ts
 * - Cost data from cost-tracker.ts
 */
import { EventEmitter } from 'events';
export interface MigrationResult {
    success: boolean;
    migratedItems: {
        memories: number;
        sessions: number;
        cache: number;
        analytics: number;
    };
    errors: string[];
    duration: number;
}
export interface MigrationOptions {
    dryRun?: boolean;
    deleteAfterMigration?: boolean;
    verbose?: boolean;
}
export declare class DatabaseMigration extends EventEmitter {
    private options;
    private errors;
    constructor(options?: MigrationOptions);
    /**
     * Run full migration
     */
    migrate(): Promise<MigrationResult>;
    /**
     * Migrate memories
     */
    private migrateMemories;
    private migrateMemoriesFile;
    /**
     * Migrate sessions
     */
    private migrateSessions;
    private migrateSessionFile;
    /**
     * Migrate cache
     */
    private migrateCache;
    /**
     * Migrate cost data
     */
    private migrateCostData;
    /**
     * Check if migration is needed
     */
    static needsMigration(): boolean;
    /**
     * Get migration status
     */
    static getStatus(): {
        needsMigration: boolean;
        files: {
            path: string;
            exists: boolean;
            size?: number;
        }[];
    };
    private log;
}
/**
 * Run migration with default options
 */
export declare function runMigration(options?: MigrationOptions): Promise<MigrationResult>;
/**
 * Check if migration is needed
 */
export declare function needsMigration(): boolean;
/**
 * Get migration status
 */
export declare function getMigrationStatus(): ReturnType<typeof DatabaseMigration.getStatus>;
