import { DocumentConventions } from "../Conventions/DocumentConventions.js";
import { IndexDefinition } from "./IndexDefinition.js";
import { IndexPriority, IndexLockMode, IndexState, SearchEngineType } from "./Enums.js";
import { IDocumentStore } from "../IDocumentStore.js";
import { AbstractCommonApiForIndexes } from "./AbstractCommonApiForIndexes.js";
import { IAbstractIndexCreationTask } from "./IAbstractIndexCreationTask.js";
import { IndexDeploymentMode } from "./IndexDeploymentMode.js";
import { ArchivedDataProcessingBehavior } from "../DataArchival/ArchivedDataProcessingBehavior.js";
export declare abstract class AbstractIndexCreationTaskBase<TIndexDefinition extends IndexDefinition> extends AbstractCommonApiForIndexes implements IAbstractIndexCreationTask {
    /**
     *  Creates the index definition.
     */
    abstract createIndexDefinition(): TIndexDefinition;
    conventions: DocumentConventions;
    priority: IndexPriority;
    lockMode: IndexLockMode;
    deploymentMode: IndexDeploymentMode;
    archivedDataProcessingBehavior: ArchivedDataProcessingBehavior;
    searchEngineType: SearchEngineType;
    state: IndexState;
    compoundFieldsStrings: string[][];
    compoundField(firstField: string, secondField: string): void;
    /**
     * Executes the index creation against the specified document store.
     */
    execute(store: IDocumentStore): Promise<void>;
    /**
     * Executes the index creation against the specified document store.
     */
    execute(store: IDocumentStore, conventions: DocumentConventions): Promise<void>;
    /**
     * Executes the index creation against the specified document store.
     */
    execute(store: IDocumentStore, conventions: DocumentConventions, database: string): Promise<void>;
    private _putIndex;
}
//# sourceMappingURL=AbstractIndexCreationTaskBase.d.ts.map