interface Log {
    level: LogLevel | string;
    time: number;
    msg: string;
}
declare const enum LogLevel {
    error = 1,
    warn = 2,
    info = 3,
    log = 4
}
interface LogFn {
    (...args: unknown[]): void;
    level: Log['level'];
}
declare class Shylog {
    private emit;
    private buffer;
    private externalLogger;
    private customLevel;
    error: LogFn;
    warn: LogFn;
    info: LogFn;
    log: LogFn;
    constructor({ emit, logger }?: {
        emit: boolean;
        logger: (message?: any, ...optionalParams: any[]) => void;
    });
    getLogs(level?: Log['level'] | LogFn): Log[];
    setLevel(level: Log['level'] | string): LogFn;
}
export default Shylog;
