import { BaseValidator } from './baseValidator'; import { ValidationResult } from './validationTypes'; import { FileAdapter, type ProcessorInput } from '../utils/io'; import { ZipAdapter } from '../utils/zip'; /** * Validator for TouchChat files (.ce) * TouchChat files are ZIP archives that contain a .c4v SQLite database. * Some legacy exports may be XML, so we support both formats. */ export declare class TouchChatValidator extends BaseValidator { constructor(); /** * Validate a TouchChat file from disk */ static validateFile(filePath: string, fileAdapter?: FileAdapter): Promise; /** * Check if content is TouchChat format */ static identifyFormat(content: any, filename: string, fileAdapter?: FileAdapter, zipAdapter?: (input: ProcessorInput) => Promise): Promise; /** * Main validation method */ validate(content: Buffer | Uint8Array, filename: string, filesize: number): Promise; /** * Validate TouchChat structure */ private validateTouchChatStructure; /** * Validate a single page */ private validatePage; /** * Validate a single button */ private validateButton; private isSQLiteBuffer; private isXmlBuffer; private tryValidateZipSqlite; private validateSqliteStructure; }