/**
 * Parquet File Reader Service
 *
 * Reads parquet files and converts rows to entity objects for ingestion.
 */
export interface ParquetReadResult {
    entities: Array<Record<string, unknown>>;
    metadata: {
        row_count: number;
        field_count: number;
        field_names: string[];
        entity_type: string;
        schema_metadata?: Record<string, {
            type: string;
            optional: boolean;
        }>;
    };
}
export interface ParquetReadOptions {
    batchSize?: number;
    onProgress?: (current: number, total: number) => void;
}
/**
 * Read a parquet file and convert rows to entity objects
 *
 * @param filePath - Path to the parquet file
 * @param entityType - Entity type to assign to rows (optional, inferred from filename if not provided)
 * @param options - Optional configuration for batch processing and progress tracking
 * @returns Array of entity objects and metadata
 */
export declare function readParquetFile(filePath: string, entityType?: string, options?: ParquetReadOptions): Promise<ParquetReadResult>;
/**
 * Convert BigInt values in an object to numbers for JSON serialization
 *
 * @internal - Exported for testing purposes
 */
export declare function convertBigIntValues(obj: Record<string, unknown>): Record<string, unknown>;
/**
 * Check if a file is a parquet file based on extension
 */
export declare function isParquetFile(filePath: string): boolean;
//# sourceMappingURL=parquet_reader.d.ts.map