import { ProjectOptions } from '../../../config/interfaces'; import { Model, RootEntityType } from '../../../model'; import { ArangoDBConfig } from '../config'; import { IndexDefinition } from './index-helpers'; import { CreateDocumentCollectionMigration, CreateEdgeCollectionMigration, CreateIndexMigration, DropIndexMigration, SchemaMigration } from './migrations'; export declare class SchemaAnalyzer { readonly config: ArangoDBConfig; private readonly db; private readonly logger; constructor(config: ArangoDBConfig, schemaContext?: ProjectOptions); getOutstandingMigrations(model: Model): Promise>; getDocumentCollectionMigrations(model: Model): Promise>; getEdgeCollectionMigrations(model: Model): Promise>; getIndexMigrations(model: Model): Promise>; getPersistentCollectionIndices(rootEntityType: RootEntityType): Promise>; /** * Calculates all required migrations to sync the arangodb-views with the model * @param model */ getArangoSearchMigrations(model: Model): Promise>; private getRequiredAnalyzers; }