chromium/chrome/browser/ui/tabs/tab_collection.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_TABS_TAB_COLLECTION_H_
#define CHROME_BROWSER_UI_TABS_TAB_COLLECTION_H_

#include <cstddef>
#include <memory>
#include <optional>

#include "base/memory/raw_ptr.h"
#include "base/types/pass_key.h"

namespace tabs {

class TabModel;

// This is an interface that representing the hierarchical storage of tabs.
// This can be used to access and manipulate tabs and the state of the tabstrip.
// Different types of collections should implement this base class based on how
// their feature works. For example, a pinned collection can implement tab
// collection that does not store any collection.
class TabCollection {};

}  // namespace tabs

#endif  // CHROME_BROWSER_UI_TABS_TAB_COLLECTION_H_