import { ServerAPI } from '@signalk/server-api';
import { DataRecord } from './types';
export interface SchemaDetectionResult {
    schema: any;
    isExplodedFile: boolean;
    fieldCount: number;
}
export interface ValidationResult {
    isValid: boolean;
    violations: string[];
    isExplodedFile: boolean;
    hasSchema: boolean;
}
export interface RepairResult {
    needsRepair: boolean;
    violations: string[];
    repairedFilePath?: string;
    backupFilePath?: string;
}
/**
 * Centralized schema detection, validation, and repair service
 * Consolidates logic from parquet-writer.ts and api-routes.ts
 */
export declare class SchemaService {
    private app;
    constructor(app: ServerAPI);
    /**
     * CORE SCHEMA DETECTION LOGIC
     * Extracted and consolidated from createParquetSchema() in parquet-writer.ts
     */
    detectOptimalSchema(records: DataRecord[], currentPath?: string): Promise<SchemaDetectionResult>;
    /**
     * SCHEMA VALIDATION LOGIC
     * Extracted and consolidated from validation logic in api-routes.ts
     */
    validateFileSchema(filePath: string): Promise<ValidationResult>;
    /**
     * SCHEMA REPAIR LOGIC
     * Extracted and consolidated from repair logic in api-routes.ts
     */
    repairFileSchema(filePath: string, _filenamePrefix?: string): Promise<RepairResult>;
}
//# sourceMappingURL=schema-service.d.ts.map