import { ConnectionBase } from "./connection.base";
import { RequestConfig, Index, Response, DBType, JobResponse } from "../../types/types";
export declare class IndexExtra extends ConnectionBase {
    /**
     * Retrieves all indexes from the current graphset.
     */
    showIndex(config?: RequestConfig): Promise<Index[]>;
    /**
     * Show node or edge index
     */
    private showNodeOrEdgeIndex;
    /**
     * List all node indexes
     */
    showNodeIndex(config?: RequestConfig): Promise<Index[]>;
    /**
     * List all edge indexes
     */
    showEdgeIndex(config?: RequestConfig): Promise<Index[]>;
    /**
     * Drop indexes in the current graphset.
     */
    dropIndex(dbType: DBType, indexName: string, config?: RequestConfig): Promise<Response>;
    /**
     * Drop node indexes in the current graphset.
     * @param indexName
     * @param config
     * @returns
     */
    dropNodeIndex(indexName: string, config?: RequestConfig): Promise<Response>;
    /**
     * Drop edge indexes in the current graphset.
     * @param indexName
     * @param config
     * @returns
     */
    dropEdgeIndex(indexName: string, config?: RequestConfig): Promise<Response>;
    /**
     * Create a new index in the current graphset.
     */
    createIndex(dbType: DBType, source: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Create a new node index in the current graphset.
     * @param source
     * @param indexName
     * @param config
     * @returns
     */
    createNodeIndex(source: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Create a new edge index in the current graphset.
     * @param source
     * @param indexName
     * @param config
     * @returns
     */
    createEdgeIndex(source: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Show fulltext
     */
    private showFulltextBase;
    /**
     * Show all fulltext
     */
    showFulltext(config?: RequestConfig): Promise<Index[]>;
    /**
     * Show node fulltext
     * @param config
     */
    showNodeFulltext(config?: RequestConfig): Promise<Index[]>;
    /**
     * Show edge fulltext
     * @param config
     */
    showEdgeFulltext(config?: RequestConfig): Promise<Index[]>;
    /**
     * Create a new fulltext index in the current graphset.
     */
    createFulltext(dbType: DBType, schemaName: string, propertyName: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Retrieves all fulltext indexes of node properties from the current graphset.
     * @param schemaName
     * @param propertyName
     * @param indexName
     * @param config
     * @returns
     */
    createNodeFulltext(schemaName: string, propertyName: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Retrieves all fulltext indexes of edge properties from the current graphset.
     * @param schemaName
     * @param propertyName
     * @param indexName
     * @param config
     * @returns
     */
    createEdgeFulltext(schemaName: string, propertyName: string, indexName: string, config?: RequestConfig): Promise<JobResponse>;
    /**
     * Drop a fulltext index in the current graphset.
     */
    dropFulltext(dbType: DBType, fulltextName: string, config?: RequestConfig): Promise<Response>;
}
