from pydantic import BaseModel, Field from typing import List, Optional, Any, Dict class SearchResultItem(BaseModel): title: Optional[str] = None link: Optional[str] = None displayLink: Optional[str] = None snippet: Optional[str] = None formattedUrl: Optional[str] = None pagemap: Optional[Dict[str, Any]] = None class SearchResponse(BaseModel): query: str total_results: Optional[str] = None search_time: Optional[float] = None items: List[SearchResultItem] = Field(default_factory=list) raw: Optional[Dict[str, Any]] = None