"""
NamedTuple types returned by each blueprint's ``decode()`` function.
"""
from __future__ import annotations

from typing import NamedTuple


class BlogQuery(NamedTuple):
    page: int
    search: str | None
    sort: str | None
    selected_tags: tuple[str, ...]
    selected_authors: tuple[str, ...]
    liked: str | None
    view: str | None
    drafts: str | None
    selected_groups: tuple[str, ...]


class MarketQuery(NamedTuple):
    page: int
    search: str | None
    sort: str | None
    selected_brands: tuple[str, ...]
    selected_stickers: tuple[str, ...]
    selected_labels: tuple[str, ...]
    liked: str | None


class OrderQuery(NamedTuple):
    page: int
    search: str | None
