import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
/** Naming strategy that converts camelCase names to snake_case for table and column names. */
export declare class UnderscoreNamingStrategy extends AbstractNamingStrategy {
    classToTableName(entityName: string, tableName?: string): string;
    joinColumnName(propertyName: string): string;
    joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean, tableName?: string): string;
    joinTableName(sourceEntity: string, targetEntity: string, propertyName: string, tableName?: string): string;
    propertyToColumnName(propertyName: string, object?: boolean): string;
    referenceColumnName(): string;
    private underscore;
}
