import type { RuleConfig, RuleModule, BasicDataPropertyForAdvice } from '../ruler'; import type { Specification, Lint, LintsWithLog } from '../types'; import type { LinterOptions } from './interface'; export interface LintParams { spec: Specification; dataProps?: BasicDataPropertyForAdvice[]; options?: LinterOptions; } export declare class Linter { ruleBase: Record; constructor(ruleCfg?: RuleConfig); /** * @param params for lint, including * * - spec: chart spec written in antv-spec * - dataProps?: data props if customized * - options?: linting options * @returns error[], the issues violated by the chart spec */ lint(params: LintParams): Lint[]; /** * Lint and return with linting log * * @param params */ lintWithLog(params: LintParams): LintsWithLog; private checkRules; } export * from './interface';