/// import { Connection, FieldInfo, Pool } from 'mysql'; import { Type } from "../Utils.js"; import Migration, { MigrationType } from "./Migration.js"; export interface QueryResult { readonly results: Record[]; readonly fields: FieldInfo[]; readonly other?: Record; foundRows?: number; } export declare function query(queryString: string, values?: QueryVariable[], connection?: Connection): Promise; export default class MysqlConnectionManager { private static currentPool?; private static databaseReady; private static migrationsRegistered; private static readonly migrations; static isReady(): boolean; static registerMigrations(migrations: MigrationType[]): void; private static registerMigration; static hasMigration(migration: Type): boolean; static prepare(runMigrations?: boolean): Promise; static get pool(): Pool; private static createPool; static endPool(): Promise; static query(queryString: string, values?: QueryVariable[], connection?: Connection): Promise; static wrapTransaction(transaction: (connection: Connection) => Promise): Promise; private static rejectAndRollback; static getCurrentMigrationVersion(): Promise; private static handleMigrations; /** * @param migrationId what migration to rollback. Use with caution. default=0 is for last registered migration. */ static rollbackMigration(migrationId?: number): Promise; static migrationCommand(args: string[]): Promise; } export declare type QueryVariable = boolean | string | number | Date | Buffer | null | undefined; export declare function isQueryVariable(value: unknown): value is QueryVariable;