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

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

// Sync representation of a Notebook.
message Notebook {}

// LINT.IfChange(NotebookSpecifics)
// Specifics for NOTEBOOK.
message NotebookSpecifics {
  // A unique identifier for this sync entity.
  optional string uuid = 1;

  // Timestamps for CRUD operations.
  optional int64 creation_time_windows_epoch_micros = 2;
  optional int64 update_time_windows_epoch_micros = 3;

  oneof entity {
    Notebook notebook = 4;
  }

  // Version tracking to aid backward compatibility.
  optional int32 schema_version = 6;
}
// LINT.ThenChange(//components/notebooks/internal/notebook_sync_bridge.cc:TrimAllSupportedFieldsFromRemoteSpecifics)
