import type { ValidationResult } from '../../base/api.js';
type DatabaseTypeData = {
    name: string;
    defaultPrimaryKeyType: string;
};
export declare const databaseTypeData: Record<string, DatabaseTypeData>;
export declare const getDatabaseTypeData: (databaseType: string) => DatabaseTypeData;
export declare const R2DBC_DB_OPTIONS: {
    value: any;
    name: string;
}[];
export declare const SQL_DB_OPTIONS: {
    value: string;
    name: string;
}[];
export declare function getDBTypeFromDBValue(db: any): any;
export declare function calculateDbNameWithLimit(tableOrEntityName: string, columnOrRelationshipName: string, limit: number, { noSnakeCase, prefix, separator }?: {
    noSnakeCase?: boolean;
    prefix?: string;
    separator?: string;
}): string;
type ConstraintName = {
    prodDatabaseType?: string;
    noSnakeCase?: boolean;
    prefix?: string;
    suffix?: string;
    skipCheckLengthOfIdentifier?: boolean;
};
export declare function calculateDbName(tableOrEntityName: string, columnOrRelationshipName: string, { prodDatabaseType, noSnakeCase, prefix, suffix, skipCheckLengthOfIdentifier }?: ConstraintName): ValidationResult & {
    value: string;
};
type FKConstraintName = {
    prodDatabaseType?: string;
    noSnakeCase?: boolean;
    skipCheckLengthOfIdentifier?: boolean;
};
export declare function getFKConstraintName(tableOrEntityName: string, columnOrRelationshipName: string, { prodDatabaseType, noSnakeCase, skipCheckLengthOfIdentifier }?: FKConstraintName): ValidationResult & {
    value: string;
};
type JoinTableName = {
    prodDatabaseType?: string;
    skipCheckLengthOfIdentifier?: boolean;
};
export declare function getJoinTableName(entityName: any, relationshipName: any, { prodDatabaseType, skipCheckLengthOfIdentifier }?: JoinTableName): ValidationResult & {
    value: string;
};
type UXConstraintName = {
    prodDatabaseType?: string;
    noSnakeCase?: boolean;
};
export declare function getUXConstraintName(entityName: string, columnName: string, { prodDatabaseType, noSnakeCase }?: UXConstraintName): ValidationResult & {
    value: string;
};
export {};
