You may need to hide some pages in wp-admin from specific admin, editor or author. Easily you can do this with following snippet.

add_filter( 'parse_query', 'ops_hide_pages_in_dashboard' );
public function ts_hide_pages_in_wp_admin($query){
      global $pagenow,$post_type;
      $user = wp_get_current_user();
      // hide following pages from wp-admin users except administrator
      if (is_admin() && $pagenow=='edit.php' && $post_type =='page' && !in_array('administrator', (array) $user->roles)) {
            $query->query_vars['post__not_in'] = [23, 24]; // Ids of page
        }
}