import { ConnectionBase } from "./connection.base";
import { Policy, RequestConfig, Response, PropertyPrivilege } from "../../types/types";
export declare class PolicyExtra extends ConnectionBase {
    /**
     * Retrieves all policies from the instance. A policy includes system privileges, graph privileges, property privileges and other policies.
     */
    showPolicy(config?: RequestConfig): Promise<Policy[]>;
    /**
     * Retrieves a policy from the instance by its name.
     */
    getPolicy(policyName: string, config?: RequestConfig): Promise<Policy>;
    /**
    * Creates a policy in the instance.
    */
    createPolicy(policy: Policy, config?: RequestConfig): Promise<Response>;
    /**
    * Alters the system privileges, graph privileges, property privileges and policies of one existing policy in the instance by its name.
    */
    alterPolicy(policy: Policy, config?: RequestConfig): Promise<Response>;
    /**
    * Drops one policy from the instance by its name.
    */
    dropPolicy(policyName: string, config?: RequestConfig): Promise<Response>;
    /**
    * Grant user policy
    */
    grantPolicy(userName: string, graphPrivileges?: Map<string, string[]>, systemPrivileges?: string[], policies?: string[], PropertyPrivilege?: PropertyPrivilege, config?: RequestConfig): Promise<Response>;
    /**
    * Revoke user policy List
    */
    revokePolicy(userName: string, graphPrivileges?: Map<string, string[]>, systemPrivileges?: string[], policies?: string[], PropertyPrivilege?: PropertyPrivilege, config?: RequestConfig): Promise<Response>;
}
