from typing import Any, Iterator, Sequence
from urllib.request import Request
from vk_api.vk_api import VkApi

class VkAudio:
    def __init__(self, vk: VkApi, convert_m3u8_links: bool=True) -> None: ...
    
    def get_iter(self, owner_id: str|int=..., album_id: str|int=..., access_hash: str=...) -> Iterator[dict]:...
    
    def get(self, owner_id: str|int=..., album_id: str|int=..., access_hash: str = ...) -> list[dict]: ...
    
    def get_albums_iter(self, owner_id: str|int=...) -> Iterator[dict]: ...
    
    def get_albums(self, owner_id: str|int=...) -> list[dict]: ...
    
    def search_user(self, owner_id: str|int=..., q: str= '') -> list[dict]: ...
    
    def search(self, q:str, count: int=100, offset: int=0) -> Iterator[dict]: ...
    
    def search_iter(self, q: str, offset: int=0) -> Iterator[dict]: ...
    
    def get_updates_iter(self) -> Iterator[dict]: ...
    
    def get_popular_iter(self, offset: int=0) -> Iterator[dict]: ...
    
    def get_news_iter(self, offset: int=0) -> Iterator[dict]: ...
    
    def get_audio_by_id(self, owner_id: str| int, audio_id: str|int) -> Iterator[dict] | list: ...
    
    def get_post_audio(self, owner_id: str|int, post_id: str|int) -> Iterator[dict]: ...
    
def scrap_ids(audio_data: Sequence) -> list: ...

def scrap_json(html_page: str) -> Any: ...

def scrap_ids_from_html(html: str, filter_root_el: dict=...) -> list: ...

def scrap_tracks(ids: list[int], user_id: int|str, http: Request, convert_m3u8_links: bool=True) -> Iterator[dict]: ...

def scrap_albums(html: str) -> list[dict]: ...