# -*- coding:utf-8 -*-
from typing import Optional, Union, Set, Any
from queue import Queue
from .listener import Listener


class WebSocketListener(Listener):
    _targets: Union[bool, str, Set[str]]
    _is_regex: bool
    _active_ws: Set[str]
    _frames: Queue
    
    def __init__(self, owner: Any, targets: Union[bool, str, Set[str]] = True, is_regex: bool = False) -> None: ...
    
    def _set_callback(self) -> None: ...
    
    def _on_ws_created(self, **kwargs: Any) -> None: ...
    
    def _on_ws_frame_received(self, **kwargs: Any) -> None: ...
    
    def _on_ws_frame_sent(self, **kwargs: Any) -> None: ...
    
    def _on_ws_closed(self, **kwargs: Any) -> None: ...
    
    def _match_url(self, url: str) -> bool: ...
    
    def get_frame(self, timeout: Optional[float] = None) -> Any: ...
    
    def get_frame_nowait(self) -> Any: ...
    
    def clear_frames(self) -> None: ...
