import { CreateAnalyzerOptions } from 'arangojs/analyzer'; import { ArangoSearchViewPropertiesOptions, CreateArangoSearchViewOptions } from 'arangojs/view'; import { Relation } from '../../../model/implementation'; import { IndexDefinition } from './index-helpers'; export type SchemaMigration = CreateIndexMigration | DropIndexMigration | CreateDocumentCollectionMigration | CreateEdgeCollectionMigration | CreateArangoSearchViewMigration | DropArangoSearchViewMigration | UpdateArangoSearchViewMigration | RecreateArangoSearchViewMigration | CreateArangoSearchAnalyzerMigration | UpdateArangoSearchAnalyzerMigration; interface CreateIndexMigrationConfig { readonly index: IndexDefinition; readonly collectionSize?: number; } export declare class CreateIndexMigration { readonly type: 'createIndex'; readonly index: IndexDefinition; readonly collectionSize: number | undefined; constructor(config: CreateIndexMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } interface DropIndexMigrationConfig { readonly index: IndexDefinition; readonly collectionSize?: number; } export declare class DropIndexMigration { readonly type: 'dropIndex'; readonly index: IndexDefinition; readonly collectionSize: number | undefined; constructor(config: DropIndexMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export declare class CreateDocumentCollectionMigration { readonly collectionName: string; readonly type: 'createDocumentCollection'; constructor(collectionName: string); get description(): string; get id(): string; get isMandatory(): boolean; } export declare class CreateEdgeCollectionMigration { readonly relation: Relation; readonly collectionName: string; readonly type: 'createEdgeCollection'; constructor(relation: Relation, collectionName: string); get description(): string; get id(): string; get isMandatory(): boolean; } interface CreateArangoSearchViewMigrationConfig { readonly viewName: string; readonly properties: CreateArangoSearchViewOptions; readonly collectionName: string; readonly collectionSize?: number; } interface UpdateArangoSearchViewMigrationConfig { readonly viewName: string; readonly properties: ArangoSearchViewPropertiesOptions; readonly collectionName: string; readonly collectionSize?: number; } interface DropArangoSearchViewMigrationConfig { readonly viewName: string; } export declare class DropArangoSearchViewMigration { readonly type: 'dropArangoSearchView'; readonly config: DropArangoSearchViewMigrationConfig; constructor(config: DropArangoSearchViewMigrationConfig); get description(): string; get id(): string; get viewName(): string; get isMandatory(): boolean; } export declare class UpdateArangoSearchViewMigration { readonly type: 'updateArangoSearchView'; readonly viewName: string; readonly properties: ArangoSearchViewPropertiesOptions; readonly collectionName: string; readonly collectionSize?: number; constructor(config: UpdateArangoSearchViewMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export declare class CreateArangoSearchViewMigration { readonly type: 'createArangoSearchView'; readonly viewName: string; readonly properties: CreateArangoSearchViewOptions; readonly collectionName: string; readonly collectionSize?: number; constructor(config: CreateArangoSearchViewMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export declare class RecreateArangoSearchViewMigration { readonly type: 'recreateArangoSearchView'; readonly viewName: string; readonly properties: CreateArangoSearchViewOptions; readonly collectionName: string; readonly collectionSize?: number; constructor(config: CreateArangoSearchViewMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export declare class CreateArangoSearchAnalyzerMigration { readonly type: 'createArangoSearchAnalyzer'; readonly name: string; readonly options: CreateAnalyzerOptions; constructor(config: CreateArangoSearchAnalyzerMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export interface CreateArangoSearchAnalyzerMigrationConfig { readonly name: string; readonly options: CreateAnalyzerOptions; } export declare class UpdateArangoSearchAnalyzerMigration { readonly type: 'updateArangoSearchAnalyzer'; readonly name: string; readonly options: CreateAnalyzerOptions; constructor(config: UpdateArangoSearchAnalyzerMigrationConfig); get description(): string; get id(): string; get isMandatory(): boolean; } export interface UpdateArangoSearchAnalyzerMigrationConfig { readonly name: string; readonly options: CreateAnalyzerOptions; } export {};