import { ServerAPI } from '@signalk/server-api';
import { EventEmitter } from 'events';
export interface MigrationProgress {
    type: 'progress' | 'log' | 'complete' | 'error';
    message: string;
    progress?: number;
    data?: any;
}
export interface PathInfo {
    path: string;
    fileCount: number;
    files: string[];
    needsMigration: boolean;
}
export interface MigrationScanResult {
    totalFiles: number;
    problematicPaths: PathInfo[];
    summary: {
        pathsNeedingMigration: number;
        filesNeedingMigration: number;
    };
}
export declare class MigrationService extends EventEmitter {
    private app?;
    constructor(app?: ServerAPI);
    private emitProgress;
    scanForProblematicFiles(dataDir: string): Promise<MigrationScanResult>;
    restoreFromBackups(dataDir: string): Promise<void>;
    repairSelectedPaths(dataDir: string, selectedPaths: string[]): Promise<void>;
    private checkFileNeedsMigration;
    private groupFilesByPath;
    private repairSingleFile;
    private readParquetFile;
    private writeParquetWithIntelligentSchema;
    private createIntelligentSchema;
    private prepareRecordForParquet;
}
//# sourceMappingURL=migration-service.d.ts.map