export declare enum PermissionAssignmentTypeEnum { NEVER = "NEVER", ALWAYS = "ALWAYS", ASSIGNABLE = "ASSIGNABLE" } export type IRole = { id: string; key: string; isDefault: boolean; name: string; description?: string | null; permissions: string[]; tenantId?: string; vendorId: string; level?: number; createdAt: Date; updatedAt: Date; }; export type IRolePermission = { id: string; key: string; name: string; description?: string; categoryId: string; fePermission: boolean; createdAt: Date; updatedAt: Date; assignmentType?: PermissionAssignmentTypeEnum; }; export type IRolePermissionCategory = { id: string; name: string; description: string; feCategory: boolean; permissionIds: string[]; createdAt: Date; updatedAt: Date; }; export type IAddRoleBase = { key: string; name: string; description: string; isDefault: boolean; level: number; }; export type IPermissions = { permissions: string[]; }; export type IPermissionIds = { permissionIds: string[]; }; export type IAddRole = IAddRoleBase & IPermissions; export type IAddRoleV2 = IAddRoleBase & IPermissionIds & { baseRoleId: string; }; export type IUpdateRole = { roleId: string; key?: string; name?: string; description?: string; isDefault?: boolean; level?: number; }; export type IDeleteRole = { roleId: string; }; export type IAttachPermissionsToRole = { roleId: string; permissionIds: string[]; }; export type IAttachPermissionToRoles = { permissionId: string; roleIds: string[]; };