import type { AttributesElements, BaseBelongsToMany, Model, ModelElement, ModelNames, RelationConfig, TableNames } from '@stacksjs/types'; export declare function modelTableName(model: Model | ModelPath): Promise; export declare function getModelName(model: Model, modelPath: string): string; export declare function getTableName(model: Model, modelPath: string): TableNames; export declare function getPivotTableName(formattedModelName: string, modelRelationTable: string): string; export declare function hasRelations(obj: any, key: string): boolean; export declare function getRelations(model: Model, modelName: string): Promise; export declare function getRelationType(relation: string): string; export declare function getRelationCount(relation: string): string; export declare function getPivotTables(model: Model, modelPath: string): Promise<{ table: string, firstForeignKey?: string, secondForeignKey?: string }[]>; export declare function fetchOtherModelRelations(modelName?: string): Promise; export declare function getHiddenAttributes(attributes: AttributesElements | undefined): string[]; export declare function getGuardedAttributes(model: Model): string[]; export declare function getFillableAttributes(model: Model, otherModelRelations: RelationConfig[]): string[]; export declare function extractFields(model: Model, modelFile: string): Promise; export declare function mapEntity(attribute: ModelElement): string | undefined; export declare function findCoreModel(modelName: string): string; export declare function findUserModel(modelName: string): string; export declare function formatDate(date: Date | number | string): string; export declare function extractDate(date: Date): string; export declare function toTimestamp(date: Date): number; declare type ModelPath = string; declare type LegacyBelongsToMany = ModelNames | BaseBelongsToMany;