import { Enforcer } from 'casbin';
export declare class NestCasbinService {
    readonly enforcer: Enforcer;
    constructor(enforcer: Enforcer);
    reloadPolicy(): Promise<void>;
    addPolicy(...params: string[]): Promise<void>;
    removePolicy(...params: string[]): Promise<void>;
    getPolicy(): Promise<string[][]>;
    enforce(...params: string[]): Promise<boolean>;
    getAllRoles(): Promise<string[]>;
    getAllObjects(): Promise<string[]>;
    getAllSubjects(): Promise<string[]>;
    getUsersForRole(name: string, domain?: string): Promise<string[]>;
    hasRoleForUser(user: string, role: string, domain?: string): Promise<boolean>;
    addRoleForUser(user: string, role: string, domain?: string): Promise<boolean>;
    deleteRoleForUser(user: string, role: string, domain?: string): Promise<boolean>;
    deleteRolesForUser(user: string, domain?: string): Promise<boolean>;
    deleteUser(user: string): Promise<boolean>;
    deleteRole(role: string): Promise<boolean>;
    deletePermission(...permissions: string[]): Promise<boolean>;
    addPermissionForUser(user: string, ...permissions: string[]): Promise<boolean>;
    deletePermissionForUser(user: string, ...permissions: string[]): Promise<boolean>;
    deletePermissionsForUser(user: string): Promise<boolean>;
    getPermissionsForUser(user: string): Promise<string[][]>;
    hasPermissionForUser(user: string, ...permissions: string[]): Promise<boolean>;
    getAllActions(): Promise<string[]>;
    hasPolicy(...params: string[]): Promise<boolean>;
    hasNamedPolicy(p: string, ...params: string[]): Promise<boolean>;
    checkPermission(...params: any[]): Promise<boolean>;
}
