@abc.abstractmethod<EOL><INDENT>def delete_agent(self, agent_id):<DEDENT>
pass<EOL>
Deletes the ``Agent`` identified by the given ``Id`` removing it from all other ``Agencies`` to which this ``Agent`` is associated.

        :param agent_id: the ``Id`` of the ``Agent`` to delete
        :type agent_id: ``osid.id.Id``
        :raise: ``NotFound`` -- an ``Agent`` was not found identified by the given ``Id``
        :raise: ``NullArgument`` -- ``agent_id`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*