import { VNodeProps, AllowedComponentProps, Component } from 'vue'; import { HtmlToTextOptions, SelectorDefinition } from 'html-to-text'; type Options = { pretty?: boolean; } & ({ plainText?: false; } | { plainText?: true; /** * These are options you can pass down directly to the library we use for * converting the rendered email's HTML into plain text. * * @see https://github.com/html-to-text/node-html-to-text */ htmlToTextOptions?: HtmlToTextOptions; }); type ExtractComponentProps = TComponent extends new () => { $props: infer P; } ? Omit : never; interface VNode { type: string; props: { style?: Record; children?: string | VNode | VNode[]; [prop: string]: any; }; } declare function render(component: T, props?: ExtractComponentProps, options?: Options): Promise; declare const plainTextSelectors: SelectorDefinition[]; declare function cleanup(str: string): string; export { type ExtractComponentProps, type Options, type VNode, cleanup, plainTextSelectors, render };