import { Result } from "@webiny/feature/api"; import type { Role } from "../shared/types.js"; import { RolesRepository } from "../shared/abstractions.js"; import { NotAuthorizedError, CannotDeletePluginRolesError } from "../shared/errors.js"; export interface IDeleteRoleErrors { notAuthorized: NotAuthorizedError; cannotDeletePlugin: CannotDeletePluginRolesError; } type DeleteRoleError = IDeleteRoleErrors[keyof IDeleteRoleErrors] | RolesRepository.Error; export interface IDeleteRole { execute(id: string): Promise>; } /** Delete a security role. */ export declare const DeleteRoleUseCase: import("@webiny/di").Abstraction; export declare namespace DeleteRoleUseCase { type Interface = IDeleteRole; type Error = DeleteRoleError; } export interface RoleBeforeDeletePayload { role: Role; } export interface RoleAfterDeletePayload { role: Role; } export {};