import { ConnectionBase } from "./connection.base";
import { AllProperties, DBType, Property, RequestConfig, Response, ResponseWithExistCheck } from "../../types/types";
export declare class PropertyExtra extends ConnectionBase {
    /**
     * Loads one custom property of nodes or edges to the computing engine for query acceleration.
     */
    lte(dbType: DBType, propertyName: string, schemaName?: string, config?: RequestConfig): Promise<import("../../types/types").JobResponse>;
    /**
     * Unloads one custom property of nodes or edges from the computing engine to save the memory.
     */
    ufe(dbType: DBType, propertyName: string, schemaName?: string, config?: RequestConfig): Promise<Response>;
    /**
     * Retrieves custom properties of nodes or edges from the current graphset.if have dbType param,return List<property>.if not,return AllProperties
     */
    showProperty(dbType?: DBType, schemaName?: string, config?: RequestConfig): Promise<AllProperties>;
    /**
     * Retrieves custom properties of nodes from the current graphset.
     */
    showNodeProperty(schemaName?: string, config?: RequestConfig): Promise<Property[]>;
    /**
     * Retrieves custom properties of edges from the current graphset.
     */
    showEdgeProperty(schemaName?: string, config?: RequestConfig): Promise<Property[]>;
    /**
     * Retrieves a custom property of nodes or edges from the current graphset.
     * @param dbType: DBType
     * @param schemaName: String
     * @param propertyName: String
     * @param config: RequestConfig
     */
    getProperty(dbType: DBType, schemaName: string, propertyName: string, config?: RequestConfig): Promise<Property>;
    /**
     * Retrieves a custom property of nodes from the current graphset.
     */
    getNodeProperty(schemaName: string, propertyName: string, config?: RequestConfig): Promise<Property>;
    /**
     * Retrieves a custom property of edges from the current graphset.
     */
    getEdgeProperty(schemaName: string, propertyName: string, config?: RequestConfig): Promise<Property>;
    /**
     * Checks if a specified node or edge has a certain property
     * @param dbType
     * @param schemaName
     * @param propertyName
     * @param config
     * @returns
     * @private
     */
    private hasProperty;
    /**
     * Creates a new property for a node or edge schema in the current graphset.
     */
    createProperty(dbType: DBType, property: Property, config?: RequestConfig): Promise<Response>;
    /**
     * Creates a new property for a node or edge schema in the current graphset, handling cases where the given property name already exists by ignoring the error.
     */
    createPropertyIfNotExist(dbType: DBType, property: Property, config?: RequestConfig): Promise<ResponseWithExistCheck>;
    /**
     * Drops one custom property from the current graphset by its name and the associated schema.
     */
    dropProperty(dbType: DBType, property: Property, config?: RequestConfig): Promise<Response>;
    /**
     * Alters the name and description of one existing custom property in the current graphset by its name.
     */
    alterProperty(dbType: DBType, originProp: Property, newProp: Property, config?: RequestConfig): Promise<Response>;
}
