import { InjectionToken } from '@angular/core';
import * as i0 from "@angular/core";
export declare const LOGGER: InjectionToken<LogService>;
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    LOG = 2,
    WARN = 3,
    ERROR = 4,
    FATAL = 5
}
interface LogEntry {
    timestamp: string;
    level: LogLevel;
    message: string;
    data?: any;
}
/**
 * A logging service class that is able to send logs to the browser console and to the server URL address
 */
export declare class LogService {
    private static _map;
    logLevel: LogLevel;
    serverLogLevel: LogLevel;
    serverEndPoint: string | undefined;
    name?: string;
    useServer: boolean;
    private _buffer;
    private _flush;
    private _dateFormat;
    private _subscription;
    constructor();
    static getLogger(name: string): LogService;
    private flushBuffer;
    protected buildLogString(entry: LogEntry): string;
    debug(message: string): void;
    log(message: string): void;
    info(message: string): void;
    warn(message: string): void;
    error(message: string): void;
    fatal(message: string): void;
    logMessage(level: LogLevel, message: string): void;
    destroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LogService>;
}
export {};
