import { Result } from "@webiny/feature/api"; import type { Role, UpdateRoleInput as UpdateRoleUseCaseInput } from "../shared/types.js"; import { RolesRepository } from "../shared/abstractions.js"; import { NotAuthorizedError, CannotUpdatePluginRolesError, RoleValidationError } from "../shared/errors.js"; export interface IUpdateRoleUseCaseErrors { notAuthorized: NotAuthorizedError; cannotUpdatePlugin: CannotUpdatePluginRolesError; validation: RoleValidationError; } type UpdateRoleUseCaseError = IUpdateRoleUseCaseErrors[keyof IUpdateRoleUseCaseErrors] | RolesRepository.Error; export interface IUpdateRoleUseCase { execute(id: string, input: UpdateRoleUseCaseInput): Promise>; } /** Update an existing security role. */ export declare const UpdateRoleUseCase: import("@webiny/di").Abstraction; export declare namespace UpdateRoleUseCase { type Interface = IUpdateRoleUseCase; type Error = UpdateRoleUseCaseError; } export interface RoleBeforeUpdatePayload { original: Role; updated: Role; input: UpdateRoleUseCaseInput; } export interface RoleAfterUpdatePayload { original: Role; updated: Role; input: UpdateRoleUseCaseInput; } export {};