"""
This type stub file was generated by pyright.
"""

"""Logger class for IPython's logging facilities.
"""
class Logger:
    """A Logfile class with different policies for file creation"""
    def __init__(self, home_dir, logfname=..., loghead=..., logmode=...) -> None:
        ...
    
    logmode = ...
    def logstart(self, logfname=..., loghead=..., logmode=..., log_output=..., timestamp=..., log_raw_input=...): # -> None:
        """Generate a new log-file with a default header.

        Raises RuntimeError if the log has already been started"""
        ...
    
    def switch_log(self, val): # -> None:
        """Switch logging on/off. val should be ONLY a boolean."""
        ...
    
    def logstate(self): # -> None:
        """Print a status message about the logger."""
        ...
    
    def log(self, line_mod, line_ori): # -> None:
        """Write the sources to a log.

        Inputs:

        - line_mod: possibly modified input, such as the transformations made
          by input prefilters or input handlers of various kinds. This should
          always be valid Python.

        - line_ori: unmodified input line from the user. This is not
          necessarily valid Python.
        """
        ...
    
    def log_write(self, data, kind=...): # -> None:
        """Write data to the log file, if active"""
        ...
    
    def logstop(self): # -> None:
        """Fully stop logging and close log file.

        In order to start logging again, a new logstart() call needs to be
        made, possibly (though not necessarily) with a new filename, mode and
        other options."""
        ...
    
    close_log = ...


