import { DznLintUserConfiguration } from "./config/dznlint-configuration"; import { Diagnostic, DiagnosticSeverity } from "./diagnostic"; import { VisitorContext } from "./visitor"; import * as ast from "./grammar/ast"; export type Linter = (node: T, context: VisitorContext) => Diagnostic[]; export type RuleFactory = (context: RuleFactoryContext) => void; export interface RuleFactoryContext { userConfig: DznLintUserConfiguration; registerRule(kind: TNode["kind"], rule: Linter): void; } export declare function loadLinters(config: DznLintUserConfiguration): Map[]>; export declare const dznLintExceptionThrown: ((level: DiagnosticSeverity, message: string, source: import("./semantics").InputSource, range: ast.SourceRange) => Diagnostic) & { code: import("./diagnostic").DiagnosticCode; };