import { DatabaseSchema, ImportOptions, ImportResult, QueryTable, SQLiteAdapter, SQLiteResult, SQLiteRow, TypeMappingConfig, ColumnMapping } from "@/types"; export declare class UniversalDAO { private adapter; private dbPath; private options?; private connection; private isConnected; private inTransaction; private typeMappingConfig; private createIfNotExists; private forceRecreate; constructor(adapter: SQLiteAdapter, dbPath: string, options?: { createIfNotExists?: boolean; forceRecreate?: boolean; } | undefined); connect(): Promise; disconnect(): Promise; close(): Promise; setTypeMappingConfig(config: TypeMappingConfig["type_mapping"]): void; private convertToSQLiteType; private getDefaultSQLiteType; private processColumnDefinition; initializeFromSchema(schema: DatabaseSchema): Promise; private dropAllTables; private createTableWithForeignKeys; private createIndexesForTable; beginTransaction(): Promise; commitTransaction(): Promise; rollbackTransaction(): Promise; getSchemaVersion(): Promise; setSchemaVersion(version: string): Promise; insert(insertTable: QueryTable): Promise; update(updateTable: QueryTable): Promise; delete(deleteTable: QueryTable): Promise; select(selectTable: QueryTable): Promise; selectAll(selectTable: QueryTable): Promise; private buildSelectQuery; private buildWhereClause; convertJsonToQueryTable(tableName: string, json: Record, idFields?: string[]): QueryTable; importData(options: ImportOptions): Promise; importDataWithMapping(tableName: string, data: Record[], columnMappings: ColumnMapping[], options?: Partial): Promise; importFromCSV(tableName: string, csvData: string, options?: { delimiter?: string; hasHeader?: boolean; columnMappings?: ColumnMapping[]; } & Partial): Promise; private validateAndTransformRow; private transformRowData; private findValueForColumn; private convertValueToColumnType; private insertRow; private insertOrUpdate; private updateRowByColumns; private isConflictError; getDatabaseInfo(): Promise; getTableInfo(tableName: string): Promise; dropTable(tableName: string): Promise; isConnectionOpen(): boolean; ensureConnected(): Promise; execute(sql: string, params?: any[]): Promise; getRst(sql: string, params?: any[]): Promise; getRsts(sql: string, params?: any[]): Promise; } //# sourceMappingURL=universal-dao.d.ts.map