import type { ColumnSchema, ForeignKeySchema, IndexSchema, QuerierPool, RawRow, SqlQuerier } from '../../type/index.js'; import { AbstractSqlSchemaIntrospector } from './abstractSqlSchemaIntrospector.js'; /** * PostgreSQL schema introspector */ export declare class PostgresSchemaIntrospector extends AbstractSqlSchemaIntrospector { protected readonly pool: QuerierPool; constructor(pool: QuerierPool); protected getTableNamesQuery(): string; protected tableExistsQuery(): string; protected parseTableExistsResult(results: RawRow[]): 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: PostgresColumnRow[]): Promise; protected mapIndexesResult(_querier: SqlQuerier, _tableName: string, results: { index_name: string; columns: string[]; is_unique: boolean; }[]): 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 normalizeType(dataType: string, udtName: string): string; protected parseDefaultValue(defaultValue: string | null): unknown; protected isAutoIncrement(columnDefault: string | null, isIdentity: string): boolean; } type PostgresColumnRow = { column_name: string; data_type: string; udt_name: string; is_nullable: string; column_default: string | null; is_primary_key: boolean; is_identity: string; is_unique: boolean; character_maximum_length: number | null; numeric_precision: number | null; numeric_scale: number | null; column_comment: string | null; }; export {}; //# sourceMappingURL=postgresIntrospector.d.ts.map