export type CustomText = {
    text: string;
    bold?: boolean;
    italic?: boolean;
    underline?: boolean;
    code?: boolean;
    retrive?: boolean;
    strikethrough?: boolean;
    link?: string;
};
export interface BaseElement {
    type: string;
    children: (CustomElement | CustomText)[];
    align?: 'left' | 'center' | 'right';
}
export interface ParagraphElement extends BaseElement {
    type: 'paragraph';
}
export interface HeadingOneElement extends BaseElement {
    type: 'heading-one';
}
export interface HeadingTwoElement extends BaseElement {
    type: 'heading-two';
}
export interface HeadingThreeElement extends BaseElement {
    type: 'heading-three';
}
export interface ListElement extends BaseElement {
    type: 'bulleted-list' | 'numbered-list';
}
export interface ListItemElement extends BaseElement {
    type: 'list-item';
}
export interface TableElement extends BaseElement {
    type: 'table';
}
export interface TableRowElement extends BaseElement {
    type: 'table-row';
}
export interface TableCellElement extends BaseElement {
    type: 'table-cell';
}
export interface ImageElement extends BaseElement {
    type: 'image';
    url: string;
}
export interface CodeBlockElement extends BaseElement {
    type: 'code-block';
}
export interface BlockQuoteElement extends BaseElement {
    type: 'block-quote';
}
export type CustomElement = ParagraphElement | HeadingOneElement | HeadingTwoElement | HeadingThreeElement | ListElement | ListItemElement | TableElement | TableRowElement | TableCellElement | ImageElement | CodeBlockElement | BlockQuoteElement;
export declare const serializeToMarkdown: (nodes: CustomElement[]) => string;
export declare const serializeToHtml: (nodes: CustomElement[]) => string;
