Typing Unpack for **kwargs with Self or dataclass classes

I create a TypedDict usually because ShopData is not used with **data but pass the arguments of the dict one by one. I make code shorter just for simplicity in example. Here the full code usually i create.

data: ShopDict = res.json()
cats_data = []
cats_dict = data['cats']
for cat_dict in cats_dict:
    cats_data.append(CatData(cat_dict['name'], cat_dict['color']))

shop = ShopData(cat_data)

if i could type hint the data with Unpack[ShopData] instead of ShopDict, I no longer need to create the TypedDict that looks very similar to my dataclass.