"""Standard export result model for generated ISTAT ZIP archives."""

from __future__ import annotations

from dataclasses import dataclass
from datetime import datetime


ISTAT_ZIP_CONTENT_TYPE = "application/zip"


@dataclass(frozen=True)
class IstatZipExportResult:
    """Download-ready ZIP archive containing one or more XML exports.

    Attributes:
        filename:     ZIP archive filename (e.g. ``C59_20260601_20260630.zip``)
        content:      Raw ZIP bytes (in-memory, no filesystem side effects)
        content_type: Always ``application/zip``
        generated_at: UTC timestamp of generation
        byte_size:    Length of ``content`` in bytes
        file_count:   Number of XML files packed inside the archive
    """

    filename: str
    content: bytes
    content_type: str
    generated_at: datetime
    byte_size: int
    file_count: int
