# Stubs for logbook.notifiers (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from logbook.handlers import Handler, LimitingHandlerMixin
from typing import Any, Optional

def create_notification_handler(application_name: Optional[Any] = ..., level: Any = ..., icon: Optional[Any] = ...): ...

class NotificationBaseHandler(Handler, LimitingHandlerMixin):
    application_name: Any = ...
    def __init__(self, application_name: Optional[Any] = ..., record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ...) -> None: ...
    def make_title(self, record: Any): ...
    def make_text(self, record: Any): ...

class GrowlHandler(NotificationBaseHandler):
    def __init__(self, application_name: Optional[Any] = ..., icon: Optional[Any] = ..., host: Optional[Any] = ..., password: Optional[Any] = ..., record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ...) -> None: ...
    def is_sticky(self, record: Any): ...
    def get_priority(self, record: Any): ...
    def emit(self, record: Any) -> None: ...

class LibNotifyHandler(NotificationBaseHandler):
    icon: Any = ...
    def __init__(self, application_name: Optional[Any] = ..., icon: Optional[Any] = ..., no_init: bool = ..., record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ...) -> None: ...
    def set_notifier_icon(self, notifier: Any, icon: Any) -> None: ...
    def get_expires(self, record: Any): ...
    def get_urgency(self, record: Any): ...
    def emit(self, record: Any) -> None: ...

class BoxcarHandler(NotificationBaseHandler):
    api_url: str = ...
    email: Any = ...
    password: Any = ...
    def __init__(self, email: Any, password: Any, record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ...) -> None: ...
    def get_screen_name(self, record: Any): ...
    def emit(self, record: Any) -> None: ...

class NotifoHandler(NotificationBaseHandler):
    application_name: Any = ...
    username: Any = ...
    secret: Any = ...
    hide_level: Any = ...
    def __init__(self, application_name: Optional[Any] = ..., username: Optional[Any] = ..., secret: Optional[Any] = ..., record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ..., hide_level: bool = ...) -> None: ...
    def emit(self, record: Any) -> None: ...

class PushoverHandler(NotificationBaseHandler):
    application_name: Any = ...
    apikey: Any = ...
    userkey: Any = ...
    device: Any = ...
    priority: Any = ...
    sound: Any = ...
    max_title_len: Any = ...
    max_message_len: Any = ...
    title: Any = ...
    def __init__(self, application_name: Optional[Any] = ..., apikey: Optional[Any] = ..., userkey: Optional[Any] = ..., device: Optional[Any] = ..., priority: int = ..., sound: Optional[Any] = ..., record_limit: Optional[Any] = ..., record_delta: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ..., max_title_len: int = ..., max_message_len: int = ...) -> None: ...
    def emit(self, record: Any) -> None: ...
