import { FoamWorkspace } from '../model/workspace'; import { Resource } from '../model/note'; import { Range } from '../model/range'; import { URI } from '../model/uri'; import { TextEdit, WorkspaceTextEdit } from '../services/text-edit'; import { ProgressCallback } from '../services/progress'; export { missingHeadingRule } from './rule-missing-heading'; export { staleDefinitionsRule } from './rule-stale-definitions'; export interface LintRelatedInfo { uri: URI; range: Range; message: string; } export interface LintIssue { code: string; message: string; range: Range; fix?: WorkspaceTextEdit[]; relatedInfo?: LintRelatedInfo[]; } export type WikilinkDefinitionSetting = 'off' | 'withExtensions' | 'withoutExtensions'; export interface LintRule { readonly id: string; check(note: Resource, text: string, eol: string, workspace: FoamWorkspace): LintIssue[]; } export declare function lintNote(note: Resource, noteText: string, eol: string, workspace: FoamWorkspace, wikilinkSetting: WikilinkDefinitionSetting): LintIssue[]; export declare function computeNoteEdits(note: Resource, noteText: string, eol: string, workspace: FoamWorkspace, wikilinkSetting: WikilinkDefinitionSetting): TextEdit[]; export declare class WorkspaceLintResult { readonly entries: ReadonlyArray<{ uri: URI; issues: LintIssue[]; }>; private readonly index; constructor(entries: { uri: URI; issues: LintIssue[]; }[]); get(uri: URI): LintIssue[] | undefined; has(uri: URI): boolean; } export declare function lintWorkspace(workspace: FoamWorkspace, rules: LintRule[], progress?: ProgressCallback): Promise; //# sourceMappingURL=lint.d.ts.map