from __future__ import annotations from dataclasses import dataclass, field from typing import Any @dataclass(frozen=True) class MobileDeListing: """One listing extracted from mobile.de search results.""" id: str url: str title: str | None = None subtitle: str | None = None price: str | None = None seller_name: str | None = None seller_type: str | None = None location: str | None = None first_registration: str | None = None mileage: str | None = None power: str | None = None fuel: str | None = None transmission: str | None = None raw: dict[str, Any] = field(default_factory=dict) @dataclass(frozen=True) class MobileDeSearchPage: """Parsed mobile.de search page.""" url: str page_number: int total_results: int | None listings: list[MobileDeListing] raw_search_results: dict[str, Any] = field(default_factory=dict)