import * as casbin from 'casbin'; export declare function getRolesForUser(enforcer: casbin.Enforcer, name: string, domain?: string): Promise; export declare function getUsersForRole(enforcer: casbin.Enforcer, name: string, domain?: string): Promise; export declare function hasRoleForUser(enforcer: casbin.Enforcer, name: string, role: string, domain?: string): Promise; export declare function addRoleForUser(enforcer: casbin.Enforcer, user: string, role: string, domain?: string): Promise; export declare function deleteRoleForUser(enforcer: casbin.Enforcer, user: string, role: string, domain?: string): Promise; export declare function deleteRolesForUser(enforcer: casbin.Enforcer, user: string, domain?: string): Promise; export declare function deleteUser(enforcer: casbin.Enforcer, user: string): Promise; export declare function deleteRole(enforcer: casbin.Enforcer, role: string): Promise; export declare function deletePermission(enforcer: casbin.Enforcer, ...permission: string[]): Promise; export declare function addPermissionForUser(enforcer: casbin.Enforcer, userOrRole: string, ...permission: string[]): Promise; export declare function deletePermissionForUser(enforcer: casbin.Enforcer, userOrRole: string, ...permission: string[]): Promise; export declare function deletePermissionsForUser(enforcer: casbin.Enforcer, userOrRole: string): Promise; export declare function getPermissionsForUser(enforcer: casbin.Enforcer, userOrRole: string): Promise; export declare function hasPermissionForUser(enforcer: casbin.Enforcer, user: string, ...permission: string[]): Promise; export declare function getImplicitRolesForUser(enforcer: casbin.Enforcer, name: string, ...domain: string[]): Promise; export declare function getImplicitResourcesForUser(enforcer: casbin.Enforcer, name: string, ...domain: string[]): Promise; export declare function getImplicitPermissionsForUser(enforcer: casbin.Enforcer, user: string, ...domain: string[]): Promise; export declare function getImplicitUsersForPermission(enforcer: casbin.Enforcer, ...permission: string[]): Promise; export declare function enforce(enforcer: casbin.Enforcer, ...params: any[]): Promise; export declare function enforceWithMatcher(enforcer: casbin.Enforcer, matcher: string, ...params: any[]): Promise; export declare function enforceEx(enforcer: casbin.Enforcer, ...params: any[]): Promise<[boolean, string[]]>; export declare function enforceExWithMatcher(enforcer: casbin.Enforcer, matcher: string, ...params: any[]): Promise<[boolean, string[]]>; export declare function batchEnforce(enforcer: casbin.Enforcer, params: any[][]): Promise; export declare function getAllSubjects(enforcer: casbin.Enforcer): Promise; export declare function getAllNamedSubjects(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getAllObjects(enforcer: casbin.Enforcer): Promise; export declare function getAllNamedObjects(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getAllActions(enforcer: casbin.Enforcer): Promise; export declare function getAllNamedActions(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getAllRoles(enforcer: casbin.Enforcer): Promise; export declare function getAllNamedRoles(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getPolicy(enforcer: casbin.Enforcer): Promise; export declare function getFilteredPolicy(enforcer: casbin.Enforcer, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function getNamedPolicy(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getFilteredNamedPolicy(enforcer: casbin.Enforcer, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function getGroupingPolicy(enforcer: casbin.Enforcer): Promise; export declare function getFilteredGroupingPolicy(enforcer: casbin.Enforcer, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function getNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string): Promise; export declare function getFilteredNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function hasPolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function hasNamedPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function addPolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function addPolicies(enforcer: casbin.Enforcer, rules: string[][]): Promise; export declare function addNamedPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function addNamedPolicies(enforcer: casbin.Enforcer, ptype: string, rules: string[][]): Promise; export declare function updatePolicy(enforcer: casbin.Enforcer, oldRule: string[], newRule: string[]): Promise; export declare function updateNamedPolicy(enforcer: casbin.Enforcer, ptype: string, oldRule: string[], newRule: string[]): Promise; export declare function removePolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function removePolicies(enforcer: casbin.Enforcer, rules: string[][]): Promise; export declare function removeFilteredPolicy(enforcer: casbin.Enforcer, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function removeNamedPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function removeNamedPolicies(enforcer: casbin.Enforcer, ptype: string, rules: string[][]): Promise; export declare function removeFilteredNamedPolicy(enforcer: casbin.Enforcer, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function hasGroupingPolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function hasNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function addGroupingPolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function addGroupingPolicies(enforcer: casbin.Enforcer, rules: string[][]): Promise; export declare function addNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function addNamedGroupingPolicies(enforcer: casbin.Enforcer, ptype: string, rules: string[][]): Promise; export declare function removeGroupingPolicy(enforcer: casbin.Enforcer, ...params: string[]): Promise; export declare function removeGroupingPolicies(enforcer: casbin.Enforcer, rules: string[][]): Promise; export declare function removeFilteredGroupingPolicy(enforcer: casbin.Enforcer, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function removeNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, ...params: string[]): Promise; export declare function removeNamedGroupingPolicies(enforcer: casbin.Enforcer, ptype: string, rules: string[][]): Promise; export declare function removeFilteredNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise; export declare function addFunction(enforcer: casbin.Enforcer, name: string, func: any): Promise; export declare function loadPolicy(enforcer: casbin.Enforcer): Promise; export declare function updateGroupingPolicy(enforcer: casbin.Enforcer, oldRule: string[], newRule: string[]): Promise; export declare function updateNamedGroupingPolicy(enforcer: casbin.Enforcer, ptype: string, oldRule: string[], newRule: string[]): Promise;