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

import logbook
import logging
from typing import Any, Optional

def redirect_logging(set_root_logger_level: bool = ...) -> None: ...

class redirected_logging:
    old_handlers: Any = ...
    old_level: Any = ...
    set_root_logger_level: Any = ...
    def __init__(self, set_root_logger_level: bool = ...) -> None: ...
    def start(self) -> None: ...
    def end(self, etype: Optional[Any] = ..., evalue: Optional[Any] = ..., tb: Optional[Any] = ...) -> None: ...
    __enter__: Any = ...
    __exit__: Any = ...

class LoggingCompatRecord(logbook.LogRecord): ...

class RedirectLoggingHandler(logging.Handler):
    def __init__(self) -> None: ...
    def convert_level(self, level: Any): ...
    def find_extra(self, old_record: Any): ...
    def find_caller(self, old_record: Any): ...
    def convert_time(self, timestamp: Any): ...
    def convert_record(self, old_record: Any): ...
    def emit(self, record: Any) -> None: ...

class LoggingHandler(logbook.Handler):
    logger: Any = ...
    def __init__(self, logger: Optional[Any] = ..., level: Any = ..., filter: Optional[Any] = ..., bubble: bool = ...) -> None: ...
    def get_logger(self, record: Any): ...
    def convert_level(self, level: Any): ...
    def convert_time(self, dt: Any): ...
    def convert_record(self, old_record: Any): ...
    def emit(self, record: Any) -> None: ...

def redirect_warnings() -> None: ...

class redirected_warnings:
    def __init__(self) -> None: ...
    def message_to_unicode(self, message: Any): ...
    def make_record(self, message: Any, exception: Any, filename: Any, lineno: Any): ...
    def start(self) -> None: ...
    def end(self, etype: Optional[Any] = ..., evalue: Optional[Any] = ..., tb: Optional[Any] = ...) -> None: ...
    __enter__: Any = ...
    __exit__: Any = ...
