import { RawRule } from '@casl/ability'; import { Types } from 'mongoose'; import { IPermissionUser } from './permission.interface'; import { IFdtoPosRole } from '~backend/portal-api/pos-role/pos-role.interface'; import { Restaurant } from '~backend/business/business.model'; export declare class Rule { label: string; subject: string | string[]; actions: string | string[]; fields?: string[]; conditions?: Object; inverted?: boolean; reason?: string; } export declare class PermissionUser implements IPermissionUser { _id: Types.ObjectId; businessId: string; userId: string; /** @deprecated */ email?: string; /** @deprecated */ phoneNo?: string; permissions: RawRule[]; static getPermissionRestaurantIds({ permissions, }: { permissions: RawRule[]; }): string[]; static filterRestaurants({ restaurants, permissions, }: { restaurants: Restaurant[]; permissions: RawRule[]; }): Restaurant[]; static setRoleUsable({ restaurants, roles, permissions, }: { restaurants: Restaurant[]; roles: IFdtoPosRole[]; permissions: RawRule[]; }): IFdtoPosRole[]; }