Repository: tensorflow
Issue: import of DistributedDatasetInterface not valid anymore
Labels: stat:awaiting tensorflower,type:build/install,subtype:macOS,TF 2.13

### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

No

### Source

binary

### TensorFlow version

tf.2.13.0

### Custom code

No

### OS platform and distribution

Mac OS Ventura 13.4

### Mobile device

_No response_

### Python version

3.9.13

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Instantiating `DataHandler`  from `tensorflow.python.keras.engine.data_adapter` throws an error 

`AttributeError: module 'tensorflow.python.distribute.input_lib' has no attribute 'DistributedDatasetInterface'`

The type `DistributedDatasetInterface` can now be found in [‎tensorflow/python/types/distribute.py](https://github.com/tensorflow/tensorflow/blob/9a1f8bb2ce3de3f57c9c141f23b9c8e4faeea387/tensorflow/python/types/distribute.py#L308)

### Standalone code to reproduce the issue

```shell
link: https://colab.research.google.com/drive/11rHWrwrAjbVzKjM6KZBBp_KemTOyf2Pp?usp=sharing

code:
!pip install -U tensorflow==2.13.0
from tensorflow.python.keras.engine import data_adapter
from tensorflow import range as tfrange
data_handler = data_adapter.DataHandler(x=tfrange(10))
```


### Relevant log output

```shell
/usr/local/lib/python3.10/dist-packages/tensorflow/python/keras/engine/data_adapter.py in __init__(self, x, y, sample_weight, batch_size, steps_per_epoch, initial_epoch, epochs, shuffle, class_weight, max_queue_size, workers, use_multiprocessing, model, steps_per_execution, distribute)
   1150       self._steps_per_execution_value = steps_per_execution.numpy().item()
   1151 
-> 1152     adapter_cls = select_data_adapter(x, y)
   1153     self._adapter = adapter_cls(
   1154         x,

/usr/local/lib/python3.10/dist-packages/tensorflow/python/keras/engine/data_adapter.py in select_data_adapter(x, y)
    986 def select_data_adapter(x, y):
    987   """Selects a data adapter than can handle a given x and y."""
--> 988   adapter_cls = [cls for cls in ALL_ADAPTER_CLS if cls.can_handle(x, y)]
    989   if not adapter_cls:
    990     # TODO(scottzhu): This should be a less implementation-specific error.

/usr/local/lib/python3.10/dist-packages/tensorflow/python/keras/engine/data_adapter.py in <listcomp>(.0)
    986 def select_data_adapter(x, y):
    987   """Selects a data adapter than can handle a given x and y."""
--> 988   adapter_cls = [cls for cls in ALL_ADAPTER_CLS if cls.can_handle(x, y)]
    989   if not adapter_cls:
    990     # TODO(scottzhu): This should be a less implementation-specific error.

/usr/local/lib/python3.10/dist-packages/tensorflow/python/keras/engine/data_adapter.py in can_handle(x, y)
    705   def can_handle(x, y=None):
    706     return (isinstance(x, (data_types.DatasetV1, data_types.DatasetV2)) or
--> 707             _is_distributed_dataset(x))
    708 
    709   def __init__(self,

/usr/local/lib/python3.10/dist-packages/tensorflow/python/keras/engine/data_adapter.py in _is_distributed_dataset(ds)
   1697 
   1698 def _is_distributed_dataset(ds):
-> 1699   return isinstance(ds, input_lib.DistributedDatasetInterface)

AttributeError: module 'tensorflow.python.distribute.input_lib' has no attribute 'DistributedDatasetInterface'
```