import type { StreamdownToken } from './marked/index.js'; export type MarkdownElement = { tagName: string; properties: Record; }; export type MarkdownParent = MarkdownElement & { children?: readonly MarkdownElement[]; }; export type AllowElement = (element: Readonly, index: number, parent: Readonly | undefined) => boolean | null | undefined; export type UrlTransform = (url: string, key: string, node: Readonly) => string | null | undefined; export declare const defaultUrlTransform: UrlTransform; export type MarkdownFilteringOptions = { allowElement?: AllowElement; allowedElements?: readonly string[]; disallowedElements?: readonly string[]; skipHtml?: boolean; unwrapDisallowed?: boolean; }; export declare const createMarkdownElement: (tagName: string, properties?: Record, children?: readonly MarkdownElement[]) => MarkdownParent; export declare const applyMarkdownUrlTransform: (url: string, key: string, node: Readonly, urlTransform?: UrlTransform) => string | null | undefined; export declare const filterMarkdownTokens: (tokens: StreamdownToken[], options: MarkdownFilteringOptions) => StreamdownToken[];