import { type ForeignKeyAction } from '../schema/types.js'; import type { Dialect, EntityMeta, FieldOptions, NamingStrategy, Type } from '../type/index.js'; import { type DialectConfig } from './dialectConfig.js'; /** * Base abstract class for all database dialects (SQL and NoSQL). */ export declare abstract class AbstractDialect { readonly dialect: Dialect; readonly namingStrategy?: NamingStrategy | undefined; readonly defaultForeignKeyAction: ForeignKeyAction; protected readonly config: DialectConfig; constructor(dialect: Dialect, namingStrategy?: NamingStrategy | undefined, defaultForeignKeyAction?: ForeignKeyAction); /** * Resolve the table name for an entity, applying naming strategy if necessary. */ resolveTableName(entity: Type, meta: EntityMeta): string; /** * Resolve the column/field name for a property, applying naming strategy if necessary. */ resolveColumnName(key: string, field: FieldOptions | undefined): string; } //# sourceMappingURL=abstractDialect.d.ts.map