import * as express from 'express'; import * as Winston from 'winston'; export { QueryOptions } from 'winston'; import { Config } from '../config/config'; export declare class ILogger { readonly middleware: express.RequestHandler; silly(msg: string, meta?: any): ILogger; data(msg: string, meta?: any): ILogger; debug(msg: string, meta?: any): ILogger; verbose(msg: string, meta?: any): ILogger; http(msg: string, meta?: any): ILogger; info(msg: string, meta?: any): ILogger; log(msg: string, meta?: any): ILogger; warn(msg: string, meta?: any): ILogger; error(msg: string, meta?: any): ILogger; silent(msg: string, meta?: any): ILogger; query(options?: Winston.QueryOptions, callback?: (err: Error, results: any) => void): any; profile(id: string, msg?: string, meta?: any): ILogger; } export declare function getMiddleware(): express.RequestHandler; export declare class Logger extends ILogger { private _logger; private _morgan; constructor(config: Config, winston?: any, morgan?: any); private _log(level, msg, meta?); query(options: Winston.QueryOptions, callback: (err: Error, results: any) => void): void; profile(id: string, msg?: string, meta?: any): ILogger; readonly middleware: express.RequestHandler; }