@typed_pos_args('configuration_data', optargs=[dict])
@noKwargs
def func_configuration_data(self, node: mparser.BaseNode, args: T.Tuple[T.Optional[T.Dict[(str, T.Any)]]], kwargs: 'TYPE_kwargs') -> build.ConfigurationData:
    initial_values = args[0]
    if (initial_values is not None):
        FeatureNew.single_use('configuration_data dictionary', '0.49.0', self.subproject, location=node)
        for (k, v) in initial_values.items():
            if (not isinstance(v, (str, int, bool))):
                raise InvalidArguments(f'"configuration_data": initial value dictionary key "{k!r}"" must be "str | int | bool", not "{v!r}"')
    return build.ConfigurationData(initial_values)
@typed_pos_args('configuration_data', optargs=[dict])
@noKwargs
def func_configuration_data(self, node: mparser.BaseNode, args: T.Tuple[T.Optional[T.Dict[(str, T.Any)]]], kwargs: 'TYPE_kwargs') -> build.ConfigurationData:
    initial_values = args[0]
    if (initial_values is not None):
        FeatureNew.single_use('configuration_data dictionary', '0.49.0', self.subproject, location=node)
        for (k, v) in initial_values.items():
            if (not isinstance(v, (str, int, bool))):
                raise InvalidArguments(f'"configuration_data": initial value dictionary key "{k!r} must be "str | int | bool", not "{v!r}"')
    return build.ConfigurationData(initial_values)