import type { ColumnSchema, ForeignKeySchema, IndexSchema, QuerierPool, SqlQuerier } from '../../type/index.js'; import { AbstractSqlSchemaIntrospector } from './abstractSqlSchemaIntrospector.js'; /** * MySQL/MariaDB schema introspector. * Works with both MySQL and MariaDB as they share the same information_schema structure. */ export declare class MysqlSchemaIntrospector extends AbstractSqlSchemaIntrospector { protected readonly pool: QuerierPool; constructor(pool: QuerierPool); protected getTableNamesQuery(): string; protected tableExistsQuery(): string; protected parseTableExistsResult(results: { count?: number | bigint; }[]): boolean; protected getColumnsQuery(_tableName: string): string; protected getIndexesQuery(_tableName: string): string; protected getForeignKeysQuery(_tableName: string): string; protected getPrimaryKeyQuery(_tableName: string): string; protected mapTableNameRow(row: { table_name: string; }): string; protected mapColumnsResult(_querier: SqlQuerier, _tableName: string, results: MysqlColumnRow[]): Promise; protected mapIndexesResult(_querier: SqlQuerier, _tableName: string, results: { index_name: string; columns: string; is_unique: number; }[]): Promise; protected mapForeignKeysResult(_querier: SqlQuerier, _tableName: string, results: { constraint_name: string; columns: string; referenced_table: string; referenced_columns: string; delete_rule: string; update_rule: string; }[]): Promise; protected mapPrimaryKeyResult(results: { column_name: string; }[]): string[] | undefined; protected parseDefaultValue(defaultValue: string | null): unknown; } type MysqlColumnRow = { column_name: string; column_type: string; is_nullable: string; column_default: string | null; column_key: string; extra: string; character_maximum_length: number | bigint | null; numeric_precision: number | bigint | null; numeric_scale: number | null; column_comment: string | null; }; /** * Alias for MysqlSchemaIntrospector. * MariaDB uses the same information_schema structure as MySQL. */ export declare const MariadbSchemaIntrospector: typeof MysqlSchemaIntrospector; export {}; //# sourceMappingURL=mysqlIntrospector.d.ts.map