import { apiPlugin } from '@storyblok/js'; import { ArrayFn } from '@storyblok/js'; import { asTag } from '@storyblok/js'; import { AsyncFn } from '@storyblok/js'; import { BlockTypes } from '@storyblok/js'; import { ComponentBlok } from '@storyblok/js'; import { default as default_2 } from 'react'; import { ForwardRefExoticComponent } from 'react'; import { ISbAlternateObject } from '@storyblok/js'; import { ISbCache } from '@storyblok/js'; import { ISbComponentType } from 'storyblok-js-client'; import { ISbConfig } from '@storyblok/js'; import { ISbContentMangmntAPI } from '@storyblok/js'; import { ISbDimensions } from '@storyblok/js'; import { ISbError } from '@storyblok/js'; import { ISbManagmentApiResult } from '@storyblok/js'; import { ISbResponse } from '@storyblok/js'; import { ISbResult } from '@storyblok/js'; import { ISbSchema } from '@storyblok/js'; import { ISbStories } from '@storyblok/js'; import { ISbStoriesParams } from '@storyblok/js'; import { ISbStory } from '@storyblok/js'; import { ISbStoryData } from '@storyblok/js'; import { ISbStoryParams } from '@storyblok/js'; import { ISbThrottle } from '@storyblok/js'; import { loadStoryblokBridge } from '@storyblok/js'; import { MarkTypes } from '@storyblok/js'; import { ReactNode } from 'react'; import { RefAttributes } from 'react'; import { registerStoryblokBridge } from '@storyblok/js'; import { renderRichText } from '@storyblok/js'; import { richTextResolver } from '@storyblok/js'; import { SbBlokData } from '@storyblok/js'; import { SbBlokKeyDataTypes } from '@storyblok/js'; import { SbSDKOptions } from '@storyblok/js'; import { StoryblokBridgeConfigV2 } from '@storyblok/js'; import { StoryblokBridgeV2 } from '@storyblok/js'; import { StoryblokClient } from '@storyblok/js'; import { StoryblokComponentType } from '@storyblok/js'; import { storyblokEditable } from '@storyblok/js'; import { StoryblokRichTextDocumentNode } from '@storyblok/richtext'; import { StoryblokRichTextImageOptimizationOptions } from '@storyblok/js'; import { StoryblokRichTextNode } from '@storyblok/js'; import { StoryblokRichTextNode as StoryblokRichTextNode_2 } from '@storyblok/richtext'; import { StoryblokRichTextNodeTypes } from '@storyblok/js'; import { StoryblokRichTextOptions } from '@storyblok/js'; import { StoryblokRichTextOptions as StoryblokRichTextOptions_2 } from '@storyblok/richtext'; import { TextTypes } from '@storyblok/js'; import { useStoryblokBridge } from '@storyblok/js'; export { apiPlugin } export { ArrayFn } export { asTag } export { AsyncFn } export { BlockTypes } export { ComponentBlok } /** * Recursively converts HTML attributes in a React element tree to their JSX property names. * * @param {React.ReactElement} element The React element to process. * @return {React.ReactElement} A new React element with converted attributes. */ export declare function convertAttributesInElement(element: default_2.ReactElement | default_2.ReactElement[]): default_2.ReactElement | default_2.ReactElement[]; export declare const getComponent: (componentKey: string) => React.ElementType | false; export declare const getCustomFallbackComponent: () => React.ElementType; export declare const getEnableFallbackComponent: () => boolean; export { ISbAlternateObject } export { ISbCache } export { ISbConfig } export { ISbContentMangmntAPI } export { ISbDimensions } export { ISbError } export { ISbManagmentApiResult } export { ISbResponse } export { ISbResult } export declare const isBridgeLoaded: () => boolean; export declare const isBrowser: () => boolean; export { ISbSchema } export { ISbStories } export { ISbStoriesParams } export { ISbStory } export { ISbStoryData } export { ISbStoryParams } export { ISbThrottle } export declare const isIframe: () => boolean; export declare const isServer: () => boolean; /** * Detects if the current page is running inside Storyblok's Visual Editor. * Requires the page to be in an iframe context with the _storyblok URL parameter. * This is more reliable than just checking for the URL parameter alone. */ export declare const isVisualEditor: () => boolean; export { loadStoryblokBridge } export { MarkTypes } export { registerStoryblokBridge } export { renderRichText } export { richTextResolver } export { SbBlokData } export { SbBlokKeyDataTypes } export declare interface SbReactComponentsMap { [key: string]: default_2.ElementType; } export declare interface SbReactSDKOptions extends SbSDKOptions { components?: SbReactComponentsMap; enableFallbackComponent?: boolean; customFallbackComponent?: default_2.ElementType; } export { SbSDKOptions } export declare const setComponents: (newComponentsMap: SbReactComponentsMap) => Map; export { StoryblokBridgeConfigV2 } export { StoryblokBridgeV2 } export { StoryblokClient } export declare const StoryblokComponent: ForwardRefExoticComponent & RefAttributes>; declare interface StoryblokComponentProps extends Omit, 'blok'> { blok: SbBlokData; } export { StoryblokComponentType } export { storyblokEditable } export declare const storyblokInit: (pluginOptions?: SbReactSDKOptions) => (() => StoryblokClient); export declare const StoryblokRichText: default_2.ForwardRefExoticComponent>; export { StoryblokRichTextImageOptimizationOptions } export { StoryblokRichTextNode } export { StoryblokRichTextNodeTypes } export { StoryblokRichTextOptions } export declare interface StoryblokRichTextProps { doc: StoryblokRichTextNode; tiptapExtensions?: StoryblokRichTextOptions['tiptapExtensions']; } export { TextTypes } export declare type TUseStoryblokState = (initialStory: ISbStoryData | null, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData | null; export declare const useStoryblok: (slug: string, apiOptions?: ISbStoriesParams, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData & { [index: string]: any; }>; declare const useStoryblokApi: () => StoryblokClient; export { useStoryblokApi as getStoryblokApi } export { useStoryblokApi } export { useStoryblokBridge } export declare const useStoryblokRichText: (options: StoryblokRichTextOptions_2) => { render: (node: StoryblokRichTextDocumentNode | StoryblokRichTextNode_2) => ReactNode; }; /** @deprecated Use useStoryblokRichText instead */ export declare const useStoryblokRichTextResolver: (options: StoryblokRichTextOptions_2) => { render: (node: StoryblokRichTextDocumentNode | StoryblokRichTextNode_2) => ReactNode; }; export declare const useStoryblokState: TUseStoryblokState; export { }