import { marked } from 'marked';
import { VNode, RendererNode, RendererElement } from 'vue';
export type Token = ReturnType<typeof marked.lexer>[number];
export type VNodeChildren = VNode<RendererNode, RendererElement, Record<string, unknown>>[];
export type MarkdownMessagePayload = {
    id: string;
    text: string;
};
export type ParseMessagePayload = {
    id: string;
    tokens: marked.TokensList;
};
export type ParserOptions = {
    headingClasses?: string[];
    headerAnchors?: boolean;
};
export declare function isToken(token: unknown): token is Token;
export declare function hasChildren(token: unknown): token is Token & {
    tokens: Token[];
};
export declare function isCodeBlock(token: unknown): token is marked.Tokens.Code;
export declare function isCodeSpan(token: unknown): token is marked.Tokens.Codespan;
export declare function isCode(token: unknown): token is marked.Tokens.Code | marked.Tokens.Codespan;
export declare function isTable(token: unknown): token is marked.Tokens.Table;
export declare function isList(token: unknown): token is marked.Tokens.List;
export declare function isListItem(token: unknown): token is marked.Tokens.ListItem;
export declare function isHeading(token: unknown): token is marked.Tokens.Heading;
export declare function isLink(token: unknown): token is marked.Tokens.Link;
export declare function isImage(token: unknown): token is marked.Tokens.Image;
export declare function isHtml(token: unknown): token is marked.Tokens.HTML;
export declare function isBlockquote(token: unknown): token is marked.Tokens.Blockquote;
export declare function isHorizontalRule(token: unknown): token is marked.Tokens.Hr;
export declare function isSpace(token: unknown): token is marked.Tokens.Space;
export declare function isBreak(token: unknown): token is marked.Tokens.Br;
export declare function isText(token: unknown): token is marked.Tokens.Text;
export declare function isParagraph(token: unknown): token is marked.Tokens.Paragraph;
export declare function isStrong(token: unknown): token is marked.Tokens.Strong;
export declare function isEmphasis(token: unknown): token is marked.Tokens.Em;
export declare function isDeleted(token: unknown): token is marked.Tokens.Del;
export declare function isTextToken(token: unknown): token is marked.Tokens.Text | marked.Tokens.Em | marked.Tokens.Strong | marked.Tokens.Del;
export declare function isEscape(token: unknown): token is marked.Tokens.Escape;
