import { Handler, HastRootNode } from './types';
import visitNode from './visit-node';
import visitChildren from './visit-children';
import parse5 from 'parse5';
import { Document, Mark, BlockquoteType, CodeType, HeadingType, LinkType, ListType, Heading } from 'datocms-structured-text-utils';
export declare type Options = Partial<{
    newlines: boolean;
    handlers: Record<string, Handler>;
    preprocess: (hast: HastRootNode) => void;
    allowedBlocks: Array<BlockquoteType | CodeType | HeadingType | LinkType | ListType>;
    allowedHeadingLevels: Heading['level'][];
    allowedMarks: Mark[];
}>;
export declare function htmlToStructuredText(html: string, options?: Options): Promise<Document | null>;
export declare function parse5ToStructuredText(document: parse5.Document, options?: Options): Promise<Document | null>;
export declare function hastToStructuredText(tree: HastRootNode, options?: Options): Promise<Document | null>;
export { visitNode, visitChildren };
export * from './types';
