export declare enum LoggerFilterMode {
    And = 0,
    Or = 1,
    Ignore = 2
}
export declare enum LoggerType {
    All = "all",
    Info = "info",
    Warning = "warn",
    Error = "error"
}
export declare enum LoggerScope {
    None = 0,
    User = 1,
    System = 2,
    Debug = 3,
    All = 4
}
export interface LoggerFilter {
    type?: LoggerType[];
    scope?: LoggerScope[];
    mode?: LoggerFilterMode;
    tags?: string[];
    contains?: string;
}
export declare class Logger {
    private tags;
    private logger;
    private filter;
    constructor(tags: string[], label?: string);
    private isFilterEmpty;
    private formatLabelTag;
    private checkFilter;
    private logFormat;
    setLabel(data?: string[], label?: string): void;
    setFilter(data: LoggerFilter): void;
    clearFilter(): void;
    disable(): void;
    getFilter(): LoggerFilter;
    getTags(): string[];
    info(message: string, scope?: LoggerScope): void;
    warn(message: string, scope?: LoggerScope): void;
    error(message: string, scope?: LoggerScope): void;
    destroy(): void;
}
