#![deny(missing_docs)]
#![forbid(unsafe_code)]
mod accounting;
mod api;
mod error;
mod model;
pub use accounting::{
GroupedUsage, LimitPeriod, LimitStatus, SpendingLimits, UsageBreakdown, UsageRecord,
UsageTotals, UsageWindow,
};
pub use api::Gemini;
pub use error::{Error, Result};
pub use model::{
AspectRatio, CompletionStatus, CostAccuracy, CostBreakdown, GeneratedImage, GenerationOptions,
GroundedSearchRequest, GroundedSearchResponse, InferenceRequest, InferenceResponse, MediaInput,
MediaKind, Modality, ModalityTokens, Money, MultimodalRequest, NanoBananaProRequest,
ServiceTier, StructuredOutput, TextModel, ThinkingLevel, TokenUsage, WebSource,
};
pub const GEMINI_31_FLASH_LITE: &str = "gemini-3.1-flash-lite";
pub const GEMINI_31_PRO: &str = "gemini-3.1-pro-preview";
pub const NANO_BANANA_PRO: &str = "gemini-3-pro-image";