chromium/chrome/browser/ui/tabs/tab_contents_data.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_CONTENTS_DATA_H_
#define CHROME_BROWSER_UI_TABS_TAB_CONTENTS_DATA_H_

#include <memory>
#include <optional>
#include <vector>

namespace tabs {
class TabModel;
}  // namespace tabs

namespace tab_groups {
class TabGroupId;
}  // namespace tab_groups

class TabGroupModel;

// This is an interface between TabStripModel and the underlying implementation
// of the storage. This provides different APIs for the model to manipulate tabs
// and the state of the tabstrip.
class TabContentsData {};

std::unique_ptr<TabContentsData> CreateTabContentsDataImpl();

#endif  // CHROME_BROWSER_UI_TABS_TAB_CONTENTS_DATA_H_