import { JSX as JSX_2 } from 'react/jsx-runtime';

declare type ChaiBlock = {
    _id: string;
    _type: string;
    _name?: string;
    _parent?: string | null | undefined;
    _bindings?: Record<string, string>;
} & Record<string, any>;

declare type ChaiBuilderTailwindTheme<T extends Record<string, unknown> = {}> = {
    primaryColor: string;
    secondaryColor: string;
    headingFont: string;
    bodyFont: string;
    roundedCorners: string;
    bodyBgLightColor: string;
    bodyBgDarkColor: string;
    bodyTextLightColor: string;
    bodyTextDarkColor: string;
} & T;

/**
 * This function converts the chai format content to chai blocks
 * @param chaiFormatContent
 */
export declare const convertToBlocks: (chaiFormatContent: string) => ChaiBlock[];

export declare const getStylesForBlocks: (blocks: ChaiBlock[], theme?: ChaiBuilderTailwindTheme | {}, classPrefix?: string, includeBaseStyles?: boolean) => Promise<string>;

export declare function RenderChaiBlocks({ blocks, parent, classPrefix, externalData, blockModifierCallback, }: {
    blocks: ChaiBlock[];
    parent?: string;
    classPrefix?: string;
    externalData?: Record<string, any>;
    blockModifierCallback?: (block: ChaiBlock) => ChaiBlock;
}): JSX_2.Element;

export { }
