from typing import Optional

from ...api.cache import Cache
from .request import _Request

class UserRequest:

    _req: _Request
    cache: Cache

    def __init__(self) -> None: ...
    async def get_self(self) -> dict: ...
    async def get_user(self, user_id: Optional[int] = None) -> dict: ...
    async def modify_self(self, payload: dict) -> dict: ...
    async def modify_self_nick_in_guild(self, guild_id: int, nickname: Optional[str]) -> dict: ...
    async def create_dm(self, recipient_id: int) -> dict: ...
