import { Node, Editor } from '@editablejs/models'; type HTMLSerializerAttributes = Omit, 'value'>, keyof React.DOMAttributes | 'style'> | Record; type HTMLSerializerStyle = Partial; interface HTMLSerializerOptions { attributes?: HTMLSerializerAttributes; style?: HTMLSerializerStyle; } interface HTMLSerializerWithOptions { attributes?: HTMLSerializerAttributes | ((node: Node) => HTMLSerializerAttributes); style?: HTMLSerializerStyle | ((node: Node) => HTMLSerializerStyle); } type HTMLSerializerTransform = typeof HTMLSerializer.transform; type HTMLSerializerWithTransform = (next: HTMLSerializerTransform, serializer: typeof HTMLSerializer, options: T) => HTMLSerializerTransform; interface EditorHTMLSerializerWithTransform { transform: HTMLSerializerWithTransform; options: T; } interface EditorHTMLSerializerOptions extends HTMLSerializerOptions { editor: Editor; } declare const HTMLSerializer: { transform(node: Node, options?: HTMLSerializerOptions): string; create(tag: string, attributes?: HTMLSerializerAttributes, style?: HTMLSerializerStyle, children?: string): string; mergeOptions>(node: Node, options: T, ...customOptions: (T | ((node: Node) => T))[]): T; with(transform: HTMLSerializerWithTransform, options: T_1): void; withEditor(editor: Editor, transform: HTMLSerializerWithTransform, options: T_2): void; transformWithEditor(editor: Editor, node?: Node): string; }; export { EditorHTMLSerializerOptions, EditorHTMLSerializerWithTransform, HTMLSerializer, HTMLSerializerAttributes, HTMLSerializerOptions, HTMLSerializerStyle, HTMLSerializerTransform, HTMLSerializerWithOptions, HTMLSerializerWithTransform };