def METHOD_NAME(self, global_sample_index: int) -> Tuple[int, ...]:
    """If you were to lay the tiles out in a grid, the tile layout shape would be the shape
    of the grid.
    Example:
        Sample shape:               (1000, 500)
        Tile shape:                 (10, 10)
        Output tile layout shape:   (100, 50)
    """
    tile_meta = self[global_sample_index]
    tile_shape = tile_meta[1]
    sample_shape = tile_meta[0]
    if len(tile_shape) != len(sample_shape):
        raise ValueError(
            "Tile shape and sample shape must have the same number of dimensions."
        )
    layout = [
        np.ceil(sample_shape_dim / tile_shape_dim)
        for tile_shape_dim, sample_shape_dim in zip(tile_shape, sample_shape)
    ]
    return tuple(int(x) for x in layout)