import type { ButtonData, CodeBlockData, DividerData, HTMLData, HeadingData, Node, ParagraphData, PluginContainerData, PollData, RichContent, TextData } from '@wix/ricos/schema';
import { Node_Type } from '@wix/ricos/schema';
import type { BuilderFunctionsMetadata, ListItemData } from '../types/content-api.js';
import type { ListNode, RichTextNode } from '../types/node-refined-types.js';
export type AddMethodParams<TData> = {
    data: TData;
    index?: number;
    before?: string;
    after?: string;
    content: RichContent;
    type: Node_Type;
};
export type AddTextMethodParams<T> = AddMethodParams<T> & {
    text?: string | TextData | (string | TextData)[];
    type: RichTextNode['type'];
};
export type AddListMethodParams = {
    items: string | TextData | ListItemData | (string | TextData | ListItemData)[];
    data?: ParagraphData;
    listData?: ListNode['data'];
    type: ListNode['type'];
    index?: number;
    before?: string;
    after?: string;
    content: RichContent;
};
export declare const DEFAULT_PARAGRAPH_DATA: ParagraphData;
export declare const DEFAULT_CONTAINER_DATA: PluginContainerData;
export declare const DEFAULT_DIVIDER_DATA: DividerData;
export declare const DEFAULT_BUTTON_DATA: ButtonData;
export declare const DEFAULT_CODE_DATA: CodeBlockData;
export declare const DEFAULT_HEADING_DATA: HeadingData;
export declare const DEFAULT_HTML_DATA: HTMLData;
export declare const DEFAULT_POLL_DATA: PollData;
export declare const createNode: <T = Node, NT = Node[]>(generateId: () => string) => (type: Node_Type, data: unknown, nodes?: NT) => T;
export declare const createTextNode: <T extends RichTextNode>(generateId: () => string) => (type: RichTextNode['type'], text: TextData[], data: unknown) => T;
export declare const makeNode: (generateId: () => string) => <TData>({ data, type }: Omit<AddMethodParams<TData>, BuilderFunctionsMetadata>) => Node;
export declare const addNode: (generateId: () => string) => <TData>({ data, type, index, before, after, content }: AddMethodParams<TData>) => RichContent;
export declare const makeTextNode: (generateId: () => string) => <TData>({ text, data, type, }: Omit<AddTextMethodParams<TData>, BuilderFunctionsMetadata>) => Node;
export declare const addTextNode: (generateId: () => string) => <TData>({ text, data, type, index, before, after, content, }: AddTextMethodParams<TData>) => RichContent;
export declare const makeListNode: (generateId: () => string) => ({ items, data, type, listData, }: Omit<AddListMethodParams, BuilderFunctionsMetadata>) => Node;
export declare const addListNode: (generateId: () => string) => ({ items, data, listData, type, index, before, after, content, }: AddListMethodParams) => RichContent;
//# sourceMappingURL=node-builder-methods.d.ts.map