import { Format } from 'logform';
import { RemoteConfig, SeqLogLevel } from 'seq-logging';
import TransportStream from 'winston-transport';
declare type ErrorHandler = (e: Error) => void;
declare type RemoteConfigChangeHandler = (remoteConfig: RemoteConfig) => void;
declare type LevelMapperHandler = (level: string) => SeqLogLevel;
interface IOption {
    format?: Format;
    level?: string;
    silent?: boolean;
    handleExceptions?: boolean;
    serverUrl?: string;
    apiKey?: string;
    maxBatchingTime?: number;
    eventSizeLimit?: number;
    batchSizeLimit?: number;
    requestTimeout?: number;
    maxRetries?: number;
    retryDelay?: number;
    onError?: ErrorHandler;
    onRemoteConfigChange?: RemoteConfigChangeHandler;
    levelMapper?: LevelMapperHandler;
    maxBufferLength?: number;
    maxFunctionSourceLength?: number;
    applicationName?: string;
}
export declare class Transport extends TransportStream {
    readonly name = "seq";
    private levelMapper;
    private seqLoggerConfig;
    private seqLogger;
    private options;
    constructor(options?: IOption);
    log(info: any, next: () => void): any;
    close(): Promise<void>;
    flush(): Promise<boolean>;
}
export {};
