// 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package tab_groups.proto;

// The local-only metadata for the tab group that is never synced.
message LocalTabGroupData {
  // Local tab group ID. Stored as a serialized base::Token.
  optional string local_group_id = 1;

  // The group was created locally when sync was disabled.
  // Useful for determining subsequent sign-in / sign-out behavior.
  optional bool created_before_syncing_tab_groups = 2;

  reserved 3;
  reserved "close_and_delete_on_next_restore";

  // Timestamp of last explicit user interaction with the tab group.
  optional int64 last_user_interaction_time_windows_epoch_micros = 4;

  reserved 5;

  // Shared tab group GUID from which this saved tab group was created.
  optional string originating_tab_group_guid = 6;

  // Whether the group should be hidden from UI and not be shown to the user.
  // For example, the originating saved tab groups will be hidden after
  // transitioning to shared groups.
  optional bool is_group_hidden = 7;

  // Timestamp of when the tab group was locally archived. This field is only
  // set if the tab group is currently archived. Restoring the group from
  // archive will reset this field.
  optional int64 archival_time_windows_epoch_micros = 8;
}
