export type HtmdxSeverity = 'error' | 'warning'; export type HtmdxDiagnosticCode = 'unknown-component' | 'unclosed-component' | 'unknown-prop' | 'missing-required-prop' | 'prop-type-string' | 'prop-type-number' | 'prop-type-boolean' | 'prop-type-json' | 'brace-expression-prop' | 'brace-expression-body' | 'import-export-body' | 'markdown-body-nested-tags' | 'body-not-allowed' | 'event-handler-attribute' | 'html-element-not-allowed' | 'unknown-layout' | 'body-contract' | 'render-failed' | 'unknown-theme' | 'unknown-frontmatter-field' | 'image-missing-alt' | 'invalid-html-nesting'; export type HtmdxDiagnostic = { code: HtmdxDiagnosticCode; severity: HtmdxSeverity; message: string; /** 1-based line in the original source. */ line: number; /** 1-based column in the original source. */ column: number; /** 0-based offset into the original source. */ offset: number; length: number; }; export declare class HtmdxSourceError extends Error { readonly code: HtmdxDiagnosticCode; readonly offset?: number | undefined; readonly length?: number | undefined; constructor(code: HtmdxDiagnosticCode, message: string, offset?: number | undefined, length?: number | undefined); } export declare function toDiagnostic(source: string, code: HtmdxDiagnosticCode, message: string, offset: number, length: number, severity?: HtmdxSeverity): HtmdxDiagnostic;