import { TxnOption } from 'oak-domain/lib/types'; import { EntityDict, StorageSchema } from 'oak-domain/lib/types'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { MySQLConfiguration } from './types/Configuration'; import { MySqlTranslator } from './translator'; import { MigrationPlanningOptions, Plan, SchemaInspectionResult } from '../types/migration'; import type { Pool as MySqlPool, PoolConnection as MySqlPoolConnection } from 'mysql2/promise'; export declare class MySqlConnector { pool?: MySqlPool; configuration: MySQLConfiguration; txnDict: Record; constructor(configuration: MySQLConfiguration); connect(): void; disconnect(): Promise; startTransaction(option?: TxnOption): Promise; exec(sql: string, txn?: string): Promise<[import("mysql2/promise").RowDataPacket[] | import("mysql2/promise").RowDataPacket[][] | import("mysql2/promise").OkPacket | import("mysql2/promise").OkPacket[] | import("mysql2/promise").ResultSetHeader, import("mysql2/promise").FieldPacket[]]>; withConnection(handler: (connection: MySqlPoolConnection) => Promise): Promise; readSchema(translator: MySqlTranslator): Promise>; inspectSchema(translator: MySqlTranslator): Promise>; diffSchema(currentSchema: StorageSchema, targetSchema: StorageSchema, translator: MySqlTranslator, options?: MigrationPlanningOptions): Plan; commitTransaction(txn: string): Promise; rollbackTransaction(txn: string): Promise; }