import { ConnectionBase } from "./connection.base";
import { RequestType, ULTIPA, ResponseType } from "../../types";
export declare class SchemaExra extends ConnectionBase {
    /**
     * 获得所有schema,或点，边所有schema
     * @param dbType（delete）
     * @param requestConfig
     */
    showSchema(requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema[]>>;
    /** 获得点或者边的schema */
    private getSchemaBase;
    private getAllSchema;
    /**
     * 获取某个schema
     * @param name
     * @param dbType
     * @param commonReq
     */
    getSchema(schemaName: string, dbType: ULTIPA.DBType, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema>>;
    /** 获得点的schema
     */
    getNodeSchema(schemaName: string, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema>>;
    /** 获得点的所有schema */
    showNodeSchema(requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema[]>>;
    /** 获得边的schema
     */
    getEdgeSchema(schemaName: string, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema>>;
    /** 获得边的所有schema */
    showEdgeSchema(requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<ResponseType.Schema[]>>;
    /** 创建点或者边的schema */
    private createSchemaBase;
    private hasSchema;
    /**
     * 如果不存在schema，创建schema
     * @param req
     * @param commonReq
     */
    createSchemaIfNotExist(schema: RequestType.Schema, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<Boolean>>;
    /** 删除点或者边的schema */
    dropSchema(schema: RequestType.Schema, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
    /** 创建点的schema */
    createNodeSchema(req: RequestType.CreateSchema, commonReq?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
    /** 删除点的schema */
    /** 创建边的schema */
    createEdgeSchema(req: RequestType.CreateSchema, commonReq?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
    /** 删除边的schema */
    /** 更新点或者边的schema */
    alterSchema(schema: RequestType.Schema, newSchema: RequestType.Schema, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
    /** 更新点的schema */
    alterNodeSchema(schema: RequestType.Schema, newSchema: RequestType.Schema, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
    /** 更新边的schema */
    alterEdgeSchema(schema: RequestType.Schema, newSchema: RequestType.Schema, requestConfig?: RequestType.RequestConfig): Promise<ULTIPA.Response<null>>;
}
