import { LogRecord } from './log_record' ; internal export interface Appender { append ( record ) : void ; /**
     * Appenders can be "attached" to one another so that they are able to act
     * as a sort of middleware by calling `append` on a different appender.
     *
     * As appenders cannot be attached to each other until they are configured,
     * the `addAppender` method can be used to pass in a newly configured appender
     * to attach.
     */ addAppender ? ( appenderRef , appender ) : void ; /**
     * For appenders which implement `addAppender`, they should declare a list of
     * `appenderRefs`, which specify the names of the appenders that their configuration
     * depends on.
     *
     * Note that these are the appender key names that the user specifies in their
     * config, _not_ the names of the appender types themselves.
     */ appenderRefs ? : string [ ] ; } internal export interface DisposableAppender extends Appender { dispose : ( ) => void | Promise < void > ; }