import type { Sequelize } from '@sequelize-orm/core'; import { AbstractDialect } from '@sequelize-orm/core'; import type { BindCollector, DialectSupports } from '@sequelize-orm/core/_non-semver-use-at-your-own-risk_/abstract-dialect/dialect.js'; import type { PgModule, PostgresConnectionOptions } from './connection-manager.js'; import { PostgresConnectionManager } from './connection-manager.js'; import { PostgresQueryGenerator } from './query-generator.js'; import { PostgresQueryInterface } from './query-interface.js'; import { PostgresQuery } from './query.js'; export interface PostgresDialectOptions { /** * Defines whether the native library shall be used or not. * If true, you need to have `pg-native` installed. * * @default false */ native?: boolean; /** * The pg library to use. * If not provided, the pg npm library will be used. * Must be compatible with the pg npm library API. * * Using this option should only be considered as a last resort, * as the Sequelize team cannot guarantee its compatibility. */ pgModule?: PgModule; /** * The PostgreSQL `standard_conforming_strings` session parameter. * Set to `false` to not set the option. * WARNING: Setting this to false may expose vulnerabilities and is not recommended! * * @default true */ standardConformingStrings?: boolean; /** * The PostgreSql `client_min_messages` session parameter. * Set explicitly to `false` to not override the database's default. * Redshift does not support this parameter, it is important to set this option * to `false` when connecting to Redshift. * * @default 'warning' */ clientMinMessages?: string | boolean; } export declare class PostgresDialect extends AbstractDialect { static readonly supports: DialectSupports; readonly connectionManager: PostgresConnectionManager; readonly queryGenerator: PostgresQueryGenerator; readonly queryInterface: PostgresQueryInterface; readonly Query: typeof PostgresQuery; constructor(sequelize: Sequelize, options: PostgresDialectOptions); createBindCollector(): BindCollector; escapeBuffer(buffer: Buffer): string; escapeString(value: string): string; canBackslashEscape(): boolean; getDefaultSchema(): string; parseConnectionUrl(url: string): PostgresConnectionOptions; static getSupportedOptions(): readonly (keyof PostgresDialectOptions)[]; static getSupportedConnectionOptions(): readonly (keyof PostgresConnectionOptions)[]; }