def METHOD_NAME(
    self, utter_action: Text, output_channel: Text, filled_slots: Dict[Text, Any]
) -> Optional[Dict[Text, Any]]:
    """Select random response for the utter action from available ones.
    If channel-specific responses for the current output channel are given,
    only choose from channel-specific ones.
    """
    import numpy as np
    if utter_action in self.responses:
        response_filter = ResponseVariationFilter(self.responses)
        suitable_responses = response_filter.responses_for_utter_action(
            utter_action, output_channel, filled_slots
        )
        if suitable_responses:
            selected_response = np.random.choice(suitable_responses)
            condition = selected_response.get(RESPONSE_CONDITION)
            if condition:
                formatted_response_conditions = self._format_response_conditions(
                    condition
                )
                logger.debug(
                    "Selecting response variation with conditions:"
                    f"{formatted_response_conditions}"
                )
            return selected_response
        else:
            return None
    else:
        return None