/** * Runtime metadata analyzer for the decorator system * * This module reads runtime metadata stored by decorators via Symbol.metadata. * It uses the TypeScript compiler APIs to extract type information and decorator * metadata for configuration generation. */ import { EntityClass, StorageFolderClass, StorageFolderMetadata } from '../schema.js'; import { Dialect } from './dialect-config.js'; import { EntityAnalysisResult } from './type-inference.js'; /** @internal */ export interface StorageFolderInfo { name: string; folderName: string; permissions: StorageFolderMetadata['permissions']; } /** @internal */ export type Schema = Array; /** * Maximum number of entities allowed in a single schema. */ /** @internal */ export declare const MAX_ENTITIES = 100; /** @internal */ export declare class SchemaAnalyzer { private typeInference; private schema; private errorCollector; private dialectConfig; private dialect; constructor(schema: Schema, dialect: Dialect); /** * Analyze all entities in the provided TypeScript files */ analyzeEntities(): EntityAnalysisResult[]; /** * Analyze all storage folders in the provided TypeScript files */ analyzeStorageFolders(): StorageFolderInfo[]; /** * Analyze entity and generate complete configuration */ private analyzeEntity; private aggregatePermissions; private sortActions; /** * Analyze a single field and apply inference rules */ private analyzeField; /** * Validate field metadata for common errors */ private validateFieldMetadata; /** * Validate relationships and check for foreign key conflicts */ private validateRelationships; } //# sourceMappingURL=schema-analyzer.d.ts.map