from typing import Any

from selenium.common.exceptions import (
    NoAlertPresentException as NoAlertPresentException,
    NoSuchElementException as NoSuchElementException,
    NoSuchFrameException as NoSuchFrameException,
    StaleElementReferenceException as StaleElementReferenceException,
    WebDriverException as WebDriverException,
)
from selenium.webdriver.remote.webdriver import WebElement as WebElement

class title_is:
    title: Any
    def __init__(self, title) -> None: ...
    def __call__(self, driver): ...

class title_contains:
    title: Any
    def __init__(self, title) -> None: ...
    def __call__(self, driver): ...

class presence_of_element_located:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class url_contains:
    url: Any
    def __init__(self, url) -> None: ...
    def __call__(self, driver): ...

class url_matches:
    pattern: Any
    def __init__(self, pattern) -> None: ...
    def __call__(self, driver): ...

class url_to_be:
    url: Any
    def __init__(self, url) -> None: ...
    def __call__(self, driver): ...

class url_changes:
    url: Any
    def __init__(self, url) -> None: ...
    def __call__(self, driver): ...

class visibility_of_element_located:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class visibility_of:
    element: Any
    def __init__(self, element) -> None: ...
    def __call__(self, ignored): ...

class presence_of_all_elements_located:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class visibility_of_any_elements_located:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class visibility_of_all_elements_located:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class text_to_be_present_in_element:
    locator: Any
    text: Any
    def __init__(self, locator, text_) -> None: ...
    def __call__(self, driver): ...

class text_to_be_present_in_element_value:
    locator: Any
    text: Any
    def __init__(self, locator, text_) -> None: ...
    def __call__(self, driver): ...

class frame_to_be_available_and_switch_to_it:
    frame_locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class invisibility_of_element_located:
    target: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class invisibility_of_element(invisibility_of_element_located): ...

class element_to_be_clickable:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class staleness_of:
    element: Any
    def __init__(self, element) -> None: ...
    def __call__(self, ignored): ...

class element_to_be_selected:
    element: Any
    def __init__(self, element) -> None: ...
    def __call__(self, ignored): ...

class element_located_to_be_selected:
    locator: Any
    def __init__(self, locator) -> None: ...
    def __call__(self, driver): ...

class element_selection_state_to_be:
    element: Any
    is_selected: Any
    def __init__(self, element, is_selected) -> None: ...
    def __call__(self, ignored): ...

class element_located_selection_state_to_be:
    locator: Any
    is_selected: Any
    def __init__(self, locator, is_selected) -> None: ...
    def __call__(self, driver): ...

class number_of_windows_to_be:
    num_windows: Any
    def __init__(self, num_windows) -> None: ...
    def __call__(self, driver): ...

class new_window_is_opened:
    current_handles: Any
    def __init__(self, current_handles) -> None: ...
    def __call__(self, driver): ...

class alert_is_present:
    def __init__(self) -> None: ...
    def __call__(self, driver): ...
