import showdown, { Flavor, ShowdownOptions } from 'showdown';
export { default as showdown } from 'showdown';
import * as vue from 'vue';
import { PropType, Plugin } from 'vue';
/**
* The VueShowdown component
*
* @example
* ```html
*
*
*
*
*
* ```
*
* @public
*/
declare const VueShowdown: vue.DefineComponent<{
/**
* Raw markdown content
*/
markdown: {
type: PropType;
required: false;
default: null;
};
/**
* HTML tag of the markdown wrapper
*/
tag: {
type: PropType;
required: false;
default: string;
};
/**
* Showdown flavor
*
* @see https://github.com/showdownjs/showdown#flavors
*/
flavor: {
type: PropType;
required: false;
default: null;
};
/**
* Showdown options
*
* @see https://github.com/showdownjs/showdown#valid-options
*/
options: {
type: PropType;
required: false;
default: () => {};
};
/**
* Showdown extensions
*
* @see https://github.com/showdownjs/showdown#extensions
*/
extensions: {
type: PropType showdown.ShowdownExtension | showdown.ShowdownExtension[]) | showdown.ShowdownExtension | showdown.ShowdownExtension[])[] | null | undefined>>;
required: false;
default: null;
};
/**
* Treat the HTML string as Vue template. Require full build of Vue (runtime + complier)
*/
vueTemplate: {
type: BooleanConstructor;
required: false;
default: boolean;
};
/**
* Define components which are available in the Vue template. Require `vueTemplate` to be enabled
*/
vueTemplateComponents: {
type: ObjectConstructor;
required: false;
default: () => {};
};
/**
* Define data which is available in the Vue template. Require `vueTemplate` to be enabled
*/
vueTemplateData: {
type: ObjectConstructor;
required: false;
default: () => {};
};
}, () => vue.VNode, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly;
required: false;
default: null;
};
/**
* HTML tag of the markdown wrapper
*/
tag: {
type: PropType;
required: false;
default: string;
};
/**
* Showdown flavor
*
* @see https://github.com/showdownjs/showdown#flavors
*/
flavor: {
type: PropType;
required: false;
default: null;
};
/**
* Showdown options
*
* @see https://github.com/showdownjs/showdown#valid-options
*/
options: {
type: PropType;
required: false;
default: () => {};
};
/**
* Showdown extensions
*
* @see https://github.com/showdownjs/showdown#extensions
*/
extensions: {
type: PropType showdown.ShowdownExtension | showdown.ShowdownExtension[]) | showdown.ShowdownExtension | showdown.ShowdownExtension[])[] | null | undefined>>;
required: false;
default: null;
};
/**
* Treat the HTML string as Vue template. Require full build of Vue (runtime + complier)
*/
vueTemplate: {
type: BooleanConstructor;
required: false;
default: boolean;
};
/**
* Define components which are available in the Vue template. Require `vueTemplate` to be enabled
*/
vueTemplateComponents: {
type: ObjectConstructor;
required: false;
default: () => {};
};
/**
* Define data which is available in the Vue template. Require `vueTemplate` to be enabled
*/
vueTemplateData: {
type: ObjectConstructor;
required: false;
default: () => {};
};
}>>, {
extensions: Required<(string | (() => showdown.ShowdownExtension | showdown.ShowdownExtension[]) | showdown.ShowdownExtension | showdown.ShowdownExtension[])[] | null | undefined>;
markdown: string | null;
tag: string;
flavor: Flavor | null;
options: ShowdownOptions;
vueTemplate: boolean;
vueTemplateComponents: Record;
vueTemplateData: Record;
}, {}>;
/**
* The VueShowdown plugin
*
* @example
* ```ts
* import { createApp } from 'vue';
* import { VueShowdownPlugin } from 'vue-showdown';
*
* const app = createApp();
* app.use(VueShowdownPlugin);
* ```
*
* @public
*/
declare const VueShowdownPlugin: Plugin;
export { VueShowdown, VueShowdownPlugin, VueShowdownPlugin as default };