// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // DO NOT EDIT. This file is generated by GeminiLanguageModel/scripts/typegen; // see its README.md for how to regenerate it. import Foundation /// Represents a breakdown of token usage by modality. This message is used in CountTokensResponse /// and GenerateContentResponse.UsageMetadata to provide a detailed view of how many tokens are used /// by each modality (e.g., text, image, video) in a request. This is particularly useful for /// multimodal models, allowing you to track and manage token consumption for billing and quota /// purposes. package struct ModalityTokenCount: Codable, Sendable, Equatable, Hashable, Buildable { /// The modality that this token count applies to. package var modality: Modality? /// The number of tokens counted for this modality. package var tokenCount: Int? /// Initializes a new `ModalityTokenCount`. package init() {} enum CodingKeys: String, CodingKey { case modality case tokenCount } }