import { CBDAdapter } from './cbd-adapter.js'; import { SchemaDefinition, TableSchema, FieldDefinition, RelationDefinition } from './types.js'; export declare class SchemaManager { private adapter; private currentSchema; private relationships; constructor(adapter: CBDAdapter); define(schema: SchemaDefinition): void; getSchema(): SchemaDefinition; getTable(tableName: string): TableSchema | null; getRelationships(tableName: string): RelationDefinition[]; validateData(tableName: string, data: Record): void; createTables(): Promise; alterTable(tableName: string, changes: { addFields?: Record; removeFields?: string[]; modifyFields?: Record; }): Promise; dropTable(tableName: string): Promise; getTables(): string[]; getFields(tableName: string): string[]; getFieldDefinition(tableName: string, fieldName: string): FieldDefinition | null; getPrimaryKey(tableName: string): string | null; private validateSchema; private validateTableSchema; private validateField; private validateRelation; private validateFieldType; private validateReference; private extractRelationships; private generateTypes; private createTable; private createRelationships; private isRelation; } //# sourceMappingURL=schema.d.ts.map