import { Console, ConsoleOut } from "./console";
import { Level } from "./levels";
export type GetDateString = () => string;
export interface CurrentLog {
    date: string;
    category: string;
    level: string;
    args: unknown[];
}
export type GetLogInputs = (log: CurrentLog) => unknown[];
export interface LoggerOptions {
    level?: Level | string;
    category?: string;
    fileName?: string;
    filter?: string;
    console?: Console;
    getDateString?: GetDateString | null;
    getLogInputs?: GetLogInputs;
}
export interface Logger {
    debug: ConsoleOut;
    info: ConsoleOut;
    warn: ConsoleOut;
    error: ConsoleOut;
}
export type CreateLogger = (options?: LoggerOptions) => Logger;
export declare const createLogger: CreateLogger;
