1import { LspClient } from './lsp-client';
2import * as lsp from 'vscode-languageserver';
3/**
4 * the logger type
5 */
6export interface Logger {
7    error(...arg: any[]): void;
8    warn(...arg: any[]): void;
9    info(...arg: any[]): void;
10    log(...arg: any[]): void;
11}
12export declare class LspClientLogger implements Logger {
13    protected client: LspClient;
14    protected level: lsp.MessageType;
15    constructor(client: LspClient, level: lsp.MessageType);
16    protected sendMessage(severity: lsp.MessageType, messageObjects: any[]): void;
17    error(...arg: any[]): void;
18    warn(...arg: any[]): void;
19    info(...arg: any[]): void;
20    log(...arg: any[]): void;
21}
22export declare class ConsoleLogger implements Logger {
23    private isLogEnabled?;
24    constructor(isLogEnabled?: boolean | undefined);
25    private toStrings;
26    error(...arg: any[]): void;
27    warn(...arg: any[]): void;
28    info(...arg: any[]): void;
29    log(...arg: any[]): void;
30}
31export declare class PrefixingLogger implements Logger {
32    private logger;
33    private prefix;
34    constructor(logger: Logger, prefix: string);
35    error(...arg: any[]): void;
36    warn(...arg: any[]): void;
37    info(...arg: any[]): void;
38    log(...arg: any[]): void;
39}
40//# sourceMappingURL=logger.d.ts.map