import type { EnhancedTranslationFile, FormatOptions, IFormatHandler, ValidationResult } from "../format.interface.js"; import type { TranslationFile } from "../translate.interface.js"; export interface CsvOptions extends FormatOptions { delimiter?: string; keyColumn?: string; valueColumn?: string; hasHeaders?: boolean; columns?: string[]; multiLanguageColumns?: Record; quote?: string; escape?: string; lineTerminator?: string; dialect?: "excel" | "unix" | "rfc4180" | "custom"; skipEmptyLines?: boolean; trimFields?: boolean; } export declare class CsvHandler implements IFormatHandler { canHandle(filePath: string, content?: string): boolean; parse(content: string, options?: CsvOptions): EnhancedTranslationFile; serialize(data: EnhancedTranslationFile, options?: CsvOptions): string; getFileExtension(): string; validateStructure(data: TranslationFile): ValidationResult; private getDialectOptions; private isValidCsvContent; private detectDelimiter; private parseCSVContent; private parseCSVLine; private detectHeaders; private looksLikeTranslatableText; private validateDelimiterConsistency; private processRows; private detectKeyColumn; private detectMultiLanguageColumns; private detectValueColumn; private determineColumns; private createRecords; private escapeField; }