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

import("//mojo/public/tools/bindings/mojom.gni")

mojom("mojom") {
  sources = [
    "ai_prototyping_service.mojom",
    "enhanced_calendar_service.mojom",
    "tab_organization_service.mojom",
    "zero_state_suggestions_service.mojom",
  ]

  public_deps = [
    "//mojo/public/mojom/base",
    "//mojo/public/mojom/base:protobuf_support",
  ]
}
