old_contents: import typing
  
  from ._split import BaseCrossValidator
  from ._split import KFold
  from ._split import GroupKFold
  from ._split import StratifiedKFold
  from ._split import TimeSeriesSplit
  from ._split import LeaveOneGroupOut
  from ._split import LeaveOneOut
  from ._split import LeavePGroupsOut
  from ._split import LeavePOut
  from ._split import RepeatedKFold
  from ._split import RepeatedStratifiedKFold
  from ._split import ShuffleSplit
  from ._split import GroupShuffleSplit
  from ._split import StratifiedShuffleSplit
  from ._split import StratifiedGroupKFold
  from ._split import PredefinedSplit
  from ._split import train_test_split
  from ._split import check_cv
  
  from ._validation import cross_val_score
  from ._validation import cross_val_predict
  from ._validation import cross_validate
  from ._validation import learning_curve
  from ._validation import permutation_test_score
  from ._validation import validation_curve
  
  from ._search import GridSearchCV
  from ._search import RandomizedSearchCV
  from ._search import ParameterGrid
  from ._search import ParameterSampler
  
  if typing.TYPE_CHECKING:
      # Avoid errors in type checkers (e.g. mypy) for experimental estimators.
      # TODO: remove this check once the estimator is no longer experimental.
      from ._search_successive_halving import (  # noqa
          HalvingGridSearchCV, HalvingRandomSearchCV
      )
  
  
  __all__ = ['BaseCrossValidator',
             'GridSearchCV',
             'TimeSeriesSplit',
             'KFold',
             'GroupKFold',
             'GroupShuffleSplit',
             'LeaveOneGroupOut',
             'LeaveOneOut',
             'LeavePGroupsOut',
             'LeavePOut',
             'RepeatedKFold',
             'RepeatedStratifiedKFold',
             'ParameterGrid',
             'ParameterSampler',
             'PredefinedSplit',
             'RandomizedSearchCV',
             'ShuffleSplit',
             'StratifiedKFold',
             'StratifiedGroupKFold',
             'StratifiedShuffleSplit',
             'check_cv',
             'cross_val_predict',
             'cross_val_score',
             'cross_validate',
             'learning_curve',
             'permutation_test_score',
             'train_test_split',
             'validation_curve']
  
new_contents: import typing
  
  from ._split import BaseCrossValidator
  from ._split import BaseShuffleSplit
  from ._split import KFold
  from ._split import GroupKFold
  from ._split import StratifiedKFold
  from ._split import TimeSeriesSplit
  from ._split import LeaveOneGroupOut
  from ._split import LeaveOneOut
  from ._split import LeavePGroupsOut
  from ._split import LeavePOut
  from ._split import RepeatedKFold
  from ._split import RepeatedStratifiedKFold
  from ._split import ShuffleSplit
  from ._split import GroupShuffleSplit
  from ._split import StratifiedShuffleSplit
  from ._split import StratifiedGroupKFold
  from ._split import PredefinedSplit
  from ._split import train_test_split
  from ._split import check_cv
  
  from ._validation import cross_val_score
  from ._validation import cross_val_predict
  from ._validation import cross_validate
  from ._validation import learning_curve
  from ._validation import permutation_test_score
  from ._validation import validation_curve
  
  from ._search import GridSearchCV
  from ._search import RandomizedSearchCV
  from ._search import ParameterGrid
  from ._search import ParameterSampler
  
  if typing.TYPE_CHECKING:
      # Avoid errors in type checkers (e.g. mypy) for experimental estimators.
      # TODO: remove this check once the estimator is no longer experimental.
      from ._search_successive_halving import (  # noqa
          HalvingGridSearchCV, HalvingRandomSearchCV
      )
  
  
  __all__ = ['BaseCrossValidator',
             'BaseShuffleSplit',
             'GridSearchCV',
             'TimeSeriesSplit',
             'KFold',
             'GroupKFold',
             'GroupShuffleSplit',
             'LeaveOneGroupOut',
             'LeaveOneOut',
             'LeavePGroupsOut',
             'LeavePOut',
             'RepeatedKFold',
             'RepeatedStratifiedKFold',
             'ParameterGrid',
             'ParameterSampler',
             'PredefinedSplit',
             'RandomizedSearchCV',
             'ShuffleSplit',
             'StratifiedKFold',
             'StratifiedGroupKFold',
             'StratifiedShuffleSplit',
             'check_cv',
             'cross_val_predict',
             'cross_val_score',
             'cross_validate',
             'learning_curve',
             'permutation_test_score',
             'train_test_split',
             'validation_curve']
  
subject: Make BaseShuffleSplit public (#20056)