/** Imports */
import * as Transport from 'winston-transport';
import { ISeqLevels } from './seq-logging';
/** Interfaces */
export declare type IWinstonLogMeta = any;
export declare type IWinstonLogCallback = (err?: any, res?: any) => void;
export interface ISeqOption extends Transport.TransportStreamOptions {
    serverUrl?: string;
    apiKey?: string;
    maxBatchingTime?: number;
    eventSizeLimit?: number;
    batchSizeLimit?: number;
    levelMapper?(level: string): ISeqLevels;
}
export default class SeqTransport extends Transport {
    readonly name = "seq";
    serverUrl?: string;
    apiKey?: string;
    maxBatchingTime?: number;
    eventSizeLimit?: number;
    batchSizeLimit?: number;
    levelMapper: (level: string) => ISeqLevels;
    private _seq;
    constructor(options?: ISeqOption);
    log(info: any, callback: IWinstonLogCallback): void;
    connect(): Promise<void>;
    close(): Promise<boolean>;
    flush(): Promise<boolean>;
    private _isError;
    private _isPrimitive;
    private _levelMapper;
    private _formatMeta;
    private _getErrorStach;
    private _formatProperty;
    private _formatError;
    private _formatDate;
    private _formatFunction;
    private _formatArray;
    private _formatBuffer;
}
