import { BlockConfig, BlockSchema, BlockSpec, PropSchema } from "@blocknote/core";
import { ElementType, FC, HTMLProps } from "react";
export type ReactBlockConfig<Type extends string, PSchema extends PropSchema, ContainsInlineContent extends boolean, BSchema extends BlockSchema> = Omit<BlockConfig<Type, PSchema, ContainsInlineContent, BSchema>, "render"> & {
    render: FC<{
        block: Parameters<BlockConfig<Type, PSchema, ContainsInlineContent, BSchema>["render"]>[0];
        editor: Parameters<BlockConfig<Type, PSchema, ContainsInlineContent, BSchema>["render"]>[1];
    }>;
};
export declare const InlineContent: <Tag extends ElementType>(props: {
    as?: Tag | undefined;
} & HTMLProps<Tag>) => import("react/jsx-runtime").JSX.Element;
export declare function createReactBlockSpec<BType extends string, PSchema extends PropSchema, ContainsInlineContent extends boolean, BSchema extends BlockSchema>(blockConfig: ReactBlockConfig<BType, PSchema, ContainsInlineContent, BSchema>): BlockSpec<BType, PSchema, ContainsInlineContent>;
