import type { Configs, Config } from './typings/types'; import type { Position } from './util'; export declare type ResultType = 'WARN' | 'ERROR' | 'INFO'; export interface Result extends Position { type: ResultType; code?: string; message: string; rule: string; pos: number | null; } export interface ReporterOptions { results?: Result[]; rule: string; config?: Configs; } export declare type LogParams = [pos: number | null, code: string, message: string, rule?: string]; export default class Reporter { private results; private rule; private configs?; constructor(options?: ReporterOptions); config(value: Configs): this; getConfigByRule(ruleName: string): Config[]; bindRule(rule: string): Reporter; report(result: Partial): this; result(): Result[]; total(): number; info(...args: LogParams): this; warn(...args: LogParams): this; error(...args: LogParams): this; private log; }