export interface Element { children: Array; type: 'bulleted-list' | 'numbered-list' | 'list-item' | 'list-item-child' | 'table' | 'table_head' | 'table_body' | 'table_row' | 'table_cell' | 'table_header_cell' | 'block-quote' | 'paragraph' | 'heading-one' | 'heading-two' | 'heading-three' | 'heading-four' | 'heading-five' | 'heading-six' | 'class' | 'link' | 'image' | 'video' | 'iframe' | 'embed' | 'code-block'; [key: string]: unknown; } export declare type ImageMimeTypes = 'image/webp' | 'image/jpeg' | 'image/bmp' | 'image/gif' | 'image/png'; export declare type VideoMimeTypes = 'video/quicktime' | 'video/mp4' | 'video/ogg' | 'video/webm' | 'video/x-msvideo'; export declare type AssetMimeTypes = ImageMimeTypes | VideoMimeTypes | string; export interface Text extends Mark { text: string; } export declare type Mark = { bold?: boolean; italic?: boolean; underline?: boolean; code?: boolean; }; export interface ClassProps { className: string; } export interface ClassElement extends ClassProps, Element { type: 'class'; } export interface LinkProps { href: string; className?: string; rel?: string; id?: string; title?: string; openInNewTab?: boolean; } export interface LinkElement extends LinkProps, Element { type: 'link'; } export interface ImageProps { type: 'image'; src: string; title?: string; width?: number; height?: number; handle?: string; mimeType?: ImageMimeTypes; altText?: string; } export interface ImageElement extends ImageProps, Element { type: 'image'; } export interface VideoProps { src: string; type: 'video'; title?: string; width: number | null; height: number | null; handle?: string; mimeType: VideoMimeTypes; } export interface VideoElement extends VideoProps, Element { type: 'video'; } export interface IFrameProps { url: string; width?: number; height?: number; } export interface IFrameElement extends IFrameProps, Element { type: 'iframe'; } export declare type EmbedProps = T & { id: string; nodeId: string; nodeType: string; isInline?: boolean; }; export declare type LinkEmbedProps = T & { id: string; nodeId: string; nodeType: string; children: any; }; export interface EmbedElement extends EmbedProps, Element { type: 'embed' | 'link'; } export declare type ElementNode = Element | ClassElement | LinkElement | ImageElement | IFrameElement | VideoElement | EmbedElement; export declare type Node = ElementNode | Text; export declare type RichTextContent = Array | { children: Array; }; export declare type AssetReference = { id: string; mimeType: AssetMimeTypes; [key: string]: any; }; export declare type Reference = { id: string; [key: string]: any; }; export declare type EmbedReferences = Array; export declare enum EmptyElementsToRemove { 'heading-one' = 0, 'heading-two' = 1, 'heading-three' = 2, 'heading-four' = 3, 'heading-five' = 4, 'heading-six' = 5, 'table_head' = 6 } export declare const elementTypeKeys: { [key: string]: string; }; export * from './util/isElement'; export * from './util/isText'; export * from './util/isEmpty';