from typing import Iterator
from vk_api.exceptions import VkApiError
from vk_api.vk_api import VkApi


class VkStreaming:
    URL_TEMPLATE: str
    
    def __init__(self, vk: VkApi) -> None: ...
    
    def update_streaming_server(self) -> None: ...
    
    def get_rules(self) -> list[str]|list: ...
    
    def add_rule(self, value: str, tag: str) -> bool: ...
    
    def delete_rule(self, tag: str) -> bool: ...
    
    def delete_all_rules(self) -> None: ...
    
    def listen(self) -> Iterator: ...
    
class VkStreamingError(VkApiError): ...

class VkStreamingServiceMessage(VkApiError): ...