class_docstr: An input that describes the entire query.
class_docstr_tok: ["An","input","that","describes","the","entire","query","."]
code: def ui_description(self) -> str:
      return (
          f"Query({repr([metric_input.ui_description for metric_input in self.metric_inputs])}, "
          f"{repr([group_by_item_input.input_obj for group_by_item_input in self.group_by_item_inputs])}"
      )
  
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import Optional, Tuple, Union
  from dbt_semantic_interfaces.protocols import WhereFilterIntersection
  from typing_extensions import override
  from metricflow.mf_logging.formatting import indent
  from metricflow.mf_logging.pretty_print import mf_pformat
  from metricflow.naming.metric_scheme import MetricNamingScheme
  from metricflow.naming.naming_scheme import QueryItemNamingScheme
  from metricflow.protocols.query_parameter import GroupByParameter, MetricQueryParameter, OrderByQueryParameter
  from metricflow.query.group_by_item.resolution_path import MetricFlowQueryResolutionPath
  from metricflow.query.resolver_inputs.base_resolver_inputs import InputPatternDescription, MetricFlowQueryResolverInput
  from metricflow.specs.patterns.metric_pattern import MetricSpecPattern
  from metricflow.specs.patterns.spec_pattern import SpecPattern
label_desc: Use image node_id 1 for calling the ResolverInputForQuery obj's underlying member method code with example usage: obj.ui_description() and returns: str, repr, str, repr