import * as elements from '@yellicode/elements'; export interface SqlObjectNameProvider { /** * Returns the name for a table that corresponds to the provided type. By default, the type name is used. */ getTableName(type: elements.Type): string; /** * Returns a column name that corresponds to the provided property. By default, the property name is used. */ getColumnName(property: elements.Property): string; /** * Returns a name for the foreign key column that corresponds to the provided property (for example, when using * the SqlWriter.writeForeignKeyConstraint function). The default is '${dependentProperty.name}Id'; */ getForeignKeyColumnName(dependentProperty: elements.Property): string; /** * Returns the name for a parameter that corresponds to the specified column name. */ getParameterName(columnName: string, isMultiValued: boolean): string; getColumnAlias(tableName: string, columnName: string): string; } export declare class DefaultSqlObjectNameProvider implements SqlObjectNameProvider { getColumnName(property: elements.Property): string; getTableName(type: elements.Type): string; getForeignKeyColumnName(dependentProperty: elements.Property): string; getParameterName(columnName: string, isMultiValued: boolean): string; getColumnAlias(tableName: string, columnName: string): string; }