/* tslint:disable */
/* eslint-disable */
/**
* The type of an inline text annotation.
*
* Uses internally tagged representation (`"annotation_type": "bold"`) for JSON serialization.
*/
export class WasmAnnotationKind {
free(): void;
[Symbol.dispose](): void;
static default(): WasmAnnotationKind;
constructor();
annotationType: string;
get title(): string | undefined;
set title(value: string | null | undefined);
get url(): string | undefined;
set url(value: string | null | undefined);
}
/**
* Code block fence style in Markdown output.
*
* Determines how code blocks (`
`) are rendered in Markdown.
*/
export enum WasmCodeBlockStyle {
Indented = 0,
Backticks = 1,
Tildes = 2,
}
/**
* Main conversion options for HTML to Markdown conversion.
*
* Use `ConversionOptions.builder()` to construct, or `Default.default()` for defaults.
*
* # Example
*/
export class WasmConversionOptions {
free(): void;
[Symbol.dispose](): void;
static default(): WasmConversionOptions;
constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptions | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, urlEscapeStyle?: WasmUrlEscapeStyle | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, excludeSelectors?: string[] | null, tierStrategy?: WasmTierStrategy | null, maxDepth?: number | null);
autolinks: boolean;
brInTables: boolean;
bullets: string;
captureSvg: boolean;
get codeBlockStyle(): string;
set codeBlockStyle(value: WasmCodeBlockStyle);
codeLanguage: string;
compactTables: boolean;
convertAsInline: boolean;
debug: boolean;
defaultTitle: boolean;
encoding: string;
escapeAscii: boolean;
escapeAsterisks: boolean;
escapeMisc: boolean;
escapeUnderscores: boolean;
excludeSelectors: string[];
extractImages: boolean;
extractMetadata: boolean;
get headingStyle(): string;
set headingStyle(value: WasmHeadingStyle);
get highlightStyle(): string;
set highlightStyle(value: WasmHighlightStyle);
includeDocumentStructure: boolean;
inferDimensions: boolean;
keepInlineImagesIn: string[];
get linkStyle(): string;
set linkStyle(value: WasmLinkStyle);
get listIndentType(): string;
set listIndentType(value: WasmListIndentType);
listIndentWidth: number;
get maxDepth(): number | undefined;
set maxDepth(value: number | null | undefined);
maxImageSize: bigint;
get newlineStyle(): string;
set newlineStyle(value: WasmNewlineStyle);
get outputFormat(): string;
set outputFormat(value: WasmOutputFormat);
preprocessing: WasmPreprocessingOptions;
preserveTags: string[];
skipImages: boolean;
stripNewlines: boolean;
stripTags: string[];
strongEmSymbol: string;
subSymbol: string;
supSymbol: string;
get tierStrategy(): string;
set tierStrategy(value: WasmTierStrategy);
get urlEscapeStyle(): string;
set urlEscapeStyle(value: WasmUrlEscapeStyle);
get visitor(): WasmVisitorHandle | undefined;
set visitor(value: WasmVisitorHandle | null | undefined);
get whitespaceMode(): string;
set whitespaceMode(value: WasmWhitespaceMode);
wrap: boolean;
wrapWidth: number;
}
/**
* Partial update for `ConversionOptions`.
*
* Uses `Option` fields for selective updates. Bindings use this to construct
* options from language-native types. Prefer `ConversionOptionsBuilder` for Rust code.
*/
export class WasmConversionOptionsUpdate {
free(): void;
[Symbol.dispose](): void;
static default(): WasmConversionOptionsUpdate;
constructor(headingStyle?: WasmHeadingStyle | null, listIndentType?: WasmListIndentType | null, listIndentWidth?: number | null, bullets?: string | null, strongEmSymbol?: string | null, escapeAsterisks?: boolean | null, escapeUnderscores?: boolean | null, escapeMisc?: boolean | null, escapeAscii?: boolean | null, codeLanguage?: string | null, autolinks?: boolean | null, defaultTitle?: boolean | null, brInTables?: boolean | null, compactTables?: boolean | null, highlightStyle?: WasmHighlightStyle | null, extractMetadata?: boolean | null, whitespaceMode?: WasmWhitespaceMode | null, stripNewlines?: boolean | null, wrap?: boolean | null, wrapWidth?: number | null, convertAsInline?: boolean | null, subSymbol?: string | null, supSymbol?: string | null, newlineStyle?: WasmNewlineStyle | null, codeBlockStyle?: WasmCodeBlockStyle | null, keepInlineImagesIn?: string[] | null, preprocessing?: WasmPreprocessingOptionsUpdate | null, encoding?: string | null, debug?: boolean | null, stripTags?: string[] | null, preserveTags?: string[] | null, skipImages?: boolean | null, urlEscapeStyle?: WasmUrlEscapeStyle | null, linkStyle?: WasmLinkStyle | null, outputFormat?: WasmOutputFormat | null, includeDocumentStructure?: boolean | null, extractImages?: boolean | null, maxImageSize?: bigint | null, captureSvg?: boolean | null, inferDimensions?: boolean | null, maxDepth?: number | null, excludeSelectors?: string[] | null, tierStrategy?: WasmTierStrategy | null);
get autolinks(): boolean | undefined;
set autolinks(value: boolean | null | undefined);
get brInTables(): boolean | undefined;
set brInTables(value: boolean | null | undefined);
get bullets(): string | undefined;
set bullets(value: string | null | undefined);
get captureSvg(): boolean | undefined;
set captureSvg(value: boolean | null | undefined);
get codeBlockStyle(): string | undefined;
set codeBlockStyle(value: WasmCodeBlockStyle | null | undefined);
get codeLanguage(): string | undefined;
set codeLanguage(value: string | null | undefined);
get compactTables(): boolean | undefined;
set compactTables(value: boolean | null | undefined);
get convertAsInline(): boolean | undefined;
set convertAsInline(value: boolean | null | undefined);
get debug(): boolean | undefined;
set debug(value: boolean | null | undefined);
get defaultTitle(): boolean | undefined;
set defaultTitle(value: boolean | null | undefined);
get encoding(): string | undefined;
set encoding(value: string | null | undefined);
get escapeAscii(): boolean | undefined;
set escapeAscii(value: boolean | null | undefined);
get escapeAsterisks(): boolean | undefined;
set escapeAsterisks(value: boolean | null | undefined);
get escapeMisc(): boolean | undefined;
set escapeMisc(value: boolean | null | undefined);
get escapeUnderscores(): boolean | undefined;
set escapeUnderscores(value: boolean | null | undefined);
get excludeSelectors(): string[] | undefined;
set excludeSelectors(value: string[] | null | undefined);
get extractImages(): boolean | undefined;
set extractImages(value: boolean | null | undefined);
get extractMetadata(): boolean | undefined;
set extractMetadata(value: boolean | null | undefined);
get headingStyle(): string | undefined;
set headingStyle(value: WasmHeadingStyle | null | undefined);
get highlightStyle(): string | undefined;
set highlightStyle(value: WasmHighlightStyle | null | undefined);
get includeDocumentStructure(): boolean | undefined;
set includeDocumentStructure(value: boolean | null | undefined);
get inferDimensions(): boolean | undefined;
set inferDimensions(value: boolean | null | undefined);
get keepInlineImagesIn(): string[] | undefined;
set keepInlineImagesIn(value: string[] | null | undefined);
get linkStyle(): string | undefined;
set linkStyle(value: WasmLinkStyle | null | undefined);
get listIndentType(): string | undefined;
set listIndentType(value: WasmListIndentType | null | undefined);
get listIndentWidth(): number | undefined;
set listIndentWidth(value: number | null | undefined);
get maxDepth(): number | undefined;
set maxDepth(value: number | null | undefined);
get maxImageSize(): bigint | undefined;
set maxImageSize(value: bigint | null | undefined);
get newlineStyle(): string | undefined;
set newlineStyle(value: WasmNewlineStyle | null | undefined);
get outputFormat(): string | undefined;
set outputFormat(value: WasmOutputFormat | null | undefined);
get preprocessing(): WasmPreprocessingOptionsUpdate | undefined;
set preprocessing(value: WasmPreprocessingOptionsUpdate | null | undefined);
get preserveTags(): string[] | undefined;
set preserveTags(value: string[] | null | undefined);
get skipImages(): boolean | undefined;
set skipImages(value: boolean | null | undefined);
get stripNewlines(): boolean | undefined;
set stripNewlines(value: boolean | null | undefined);
get stripTags(): string[] | undefined;
set stripTags(value: string[] | null | undefined);
get strongEmSymbol(): string | undefined;
set strongEmSymbol(value: string | null | undefined);
get subSymbol(): string | undefined;
set subSymbol(value: string | null | undefined);
get supSymbol(): string | undefined;
set supSymbol(value: string | null | undefined);
get tierStrategy(): string | undefined;
set tierStrategy(value: WasmTierStrategy | null | undefined);
get urlEscapeStyle(): string | undefined;
set urlEscapeStyle(value: WasmUrlEscapeStyle | null | undefined);
get visitor(): WasmVisitorHandle | undefined;
set visitor(value: WasmVisitorHandle | null | undefined);
get whitespaceMode(): string | undefined;
set whitespaceMode(value: WasmWhitespaceMode | null | undefined);
get wrap(): boolean | undefined;
set wrap(value: boolean | null | undefined);
get wrapWidth(): number | undefined;
set wrapWidth(value: number | null | undefined);
}
/**
* The primary result of HTML conversion and extraction.
*
* Contains the converted text output, optional structured document tree,
* metadata, extracted tables, images, and processing warnings.
*
* # Example
*
* ```text
* use html_to_markdown_rs::{convert, ConversionOptions};
*
* let result = convert("Hello
World
", None)?;
* assert!(result.content.is_some());
* assert!(result.warnings.is_empty());
* ```
*/
export class WasmConversionResult {
free(): void;
[Symbol.dispose](): void;
static default(): WasmConversionResult;
constructor(tables?: WasmTableData[] | null, warnings?: WasmProcessingWarning[] | null, content?: string | null, document?: WasmDocumentStructure | null);
get content(): string | undefined;
set content(value: string | null | undefined);
get document(): WasmDocumentStructure | undefined;
set document(value: WasmDocumentStructure | null | undefined);
metadata: WasmHtmlMetadata;
tables: WasmTableData[];
warnings: WasmProcessingWarning[];
}
/**
* Document-level metadata extracted from `` and top-level elements.
*
* Contains all metadata typically used by search engines, social media platforms,
* and browsers for document indexing and presentation.
*
* # Examples
*/
export class WasmDocumentMetadata {
free(): void;
[Symbol.dispose](): void;
static default(): WasmDocumentMetadata;
constructor(keywords?: string[] | null, openGraph?: any | null, twitterCard?: any | null, metaTags?: any | null, title?: string | null, description?: string | null, author?: string | null, canonicalUrl?: string | null, baseHref?: string | null, language?: string | null, textDirection?: WasmTextDirection | null);
get author(): string | undefined;
set author(value: string | null | undefined);
get baseHref(): string | undefined;
set baseHref(value: string | null | undefined);
get canonicalUrl(): string | undefined;
set canonicalUrl(value: string | null | undefined);
get description(): string | undefined;
set description(value: string | null | undefined);
keywords: string[];
get language(): string | undefined;
set language(value: string | null | undefined);
metaTags: any;
openGraph: any;
get textDirection(): string | undefined;
set textDirection(value: WasmTextDirection | null | undefined);
get title(): string | undefined;
set title(value: string | null | undefined);
twitterCard: any;
}
/**
* A single node in the document tree.
*/
export class WasmDocumentNode {
free(): void;
[Symbol.dispose](): void;
static default(): WasmDocumentNode;
constructor(id: string, content: any, children: Uint32Array, annotations: WasmTextAnnotation[], parent?: number | null, attributes?: any | null);
annotations: WasmTextAnnotation[];
get attributes(): any | undefined;
set attributes(value: any | null | undefined);
children: Uint32Array;
content: any;
id: string;
get parent(): number | undefined;
set parent(value: number | null | undefined);
}
/**
* A structured document tree representing the semantic content of an HTML document.
*
* Uses a flat node array with index-based parent/child references for efficient traversal.
*/
export class WasmDocumentStructure {
free(): void;
[Symbol.dispose](): void;
static default(): WasmDocumentStructure;
constructor(nodes: WasmDocumentNode[], sourceFormat?: string | null);
nodes: WasmDocumentNode[];
get sourceFormat(): string | undefined;
set sourceFormat(value: string | null | undefined);
}
/**
* A single cell in a table grid.
*/
export class WasmGridCell {
free(): void;
[Symbol.dispose](): void;
static default(): WasmGridCell;
constructor(content: string, row: number, col: number, rowSpan: number, colSpan: number, isHeader: boolean);
col: number;
colSpan: number;
content: string;
isHeader: boolean;
row: number;
rowSpan: number;
}
/**
* Header element metadata with hierarchy tracking.
*
* Captures heading elements (h1-h6) with their text content, identifiers,
* and position in the document structure.
*
* # Examples
*/
export class WasmHeaderMetadata {
free(): void;
[Symbol.dispose](): void;
static default(): WasmHeaderMetadata;
/**
* Validate that the header level is within valid range (1-6).
*
* # Returns
*
* `true` if level is 1-6, `false` otherwise.
*
* # Examples
*/
isValid(): boolean;
constructor(level: number, text: string, depth: number, htmlOffset: number, id?: string | null);
depth: number;
htmlOffset: number;
get id(): string | undefined;
set id(value: string | null | undefined);
level: number;
text: string;
}
/**
* Heading style options for Markdown output.
*
* Controls how headings (h1-h6) are rendered in the output Markdown.
*/
export enum WasmHeadingStyle {
Underlined = 0,
Atx = 1,
AtxClosed = 2,
}
/**
* Highlight rendering style for `` elements.
*
* Controls how highlighted text is rendered in Markdown output.
*/
export enum WasmHighlightStyle {
DoubleEqual = 0,
Html = 1,
Bold = 2,
None = 3,
}
/**
* Comprehensive metadata extraction result from HTML document.
*
* Contains all extracted metadata types in a single structure,
* suitable for serialization and transmission across language boundaries.
*
* # Examples
*/
export class WasmHtmlMetadata {
free(): void;
[Symbol.dispose](): void;
static default(): WasmHtmlMetadata;
constructor(document?: WasmDocumentMetadata | null, headers?: WasmHeaderMetadata[] | null, links?: WasmLinkMetadata[] | null, images?: WasmImageMetadata[] | null, structuredData?: WasmStructuredData[] | null);
document: WasmDocumentMetadata;
headers: WasmHeaderMetadata[];
images: WasmImageMetadata[];
links: WasmLinkMetadata[];
structuredData: WasmStructuredData[];
}
/**
* Image dimensions in pixels.
*
* Binding-safe replacement for `(u32, u32)` tuples, which degrade to
* `Vec>` when sanitized for cross-language binding generation.
* Used by both `ImageMetadata` and
* `InlineImage`.
*/
export class WasmImageDimensions {
free(): void;
[Symbol.dispose](): void;
static default(): WasmImageDimensions;
constructor(width: number, height: number);
height: number;
width: number;
}
/**
* Image metadata with source and dimensions.
*
* Captures `
` elements and inline `