import { apiPlugin } from '@storyblok/js'; import { ArrayFn } from '@storyblok/js'; import { AsyncFn } from '@storyblok/js'; import { buildStoryblokImage } from '@storyblok/richtext'; import { ComponentPropsWithoutRef } from 'react'; import { ComponentType } from 'react'; import { default as default_2 } from 'react'; import { ForwardRefExoticComponent } from 'react'; import { ISbAlternateObject } from '@storyblok/js'; import { ISbCache } from '@storyblok/js'; 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 { ReactNode } from 'react'; import { RefAttributes } from 'react'; import { registerStoryblokBridge } from '@storyblok/js'; import { renderRichText } from '@storyblok/richtext'; import { SbBlokData } from '@storyblok/js'; import { SbBlokKeyDataTypes } from '@storyblok/js'; import { SbRichTextDoc } from '@storyblok/richtext'; import { SbRichTextElement } from '@storyblok/richtext'; import { SbRichTextElementByType } from '@storyblok/richtext'; import { SbRichTextImageOptions } from '@storyblok/richtext'; import { SbRichTextInput } from '@storyblok/richtext'; import { SbRichTextMark } from '@storyblok/richtext'; import { SbRichTextNode } from '@storyblok/richtext'; import { SbRichTextProps } from '@storyblok/richtext'; import { SbRichTextRenderContext } from '@storyblok/richtext'; import { SbRichTextRendererMap } from '@storyblok/richtext'; import { SbSDKOptions } from '@storyblok/js'; import { splitTableRows } from '@storyblok/richtext'; 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 { useStoryblokBridge } from '@storyblok/js'; export { apiPlugin } export { ArrayFn } export { AsyncFn } export { buildStoryblokImage } export declare function createRichTextRenderer(options: SbReactRichTextRenderContext): (document: SbRichTextInput) => ReactNode | null; declare type DivProps = Omit, 'children'>; export declare const getComponent: (componentKey: string) => React.ElementType | false; export declare const getCustomFallbackComponent: () => React.ElementType; export declare const getEnableFallbackComponent: () => boolean; export declare const getStoryblokApi: () => StoryblokClient; export { ISbAlternateObject } export { ISbCache } export { ISbConfig } export { ISbContentMangmntAPI } export { ISbDimensions } export { ISbError } export { ISbManagmentApiResult } export { ISbResponse } export { ISbResult } export { ISbSchema } export { ISbStories } export { ISbStoriesParams } export { ISbStory } export { ISbStoryData } export { ISbStoryParams } export { ISbThrottle } export { loadStoryblokBridge } export { registerStoryblokBridge } export { renderRichText } export { SbBlokData } export { SbBlokKeyDataTypes } export declare interface SbReactComponentsMap { [key: string]: default_2.ElementType; } declare type SbReactRichTextComponent = ComponentType>; export declare type SbReactRichTextComponentMap = { [K in SbRichTextElement]?: SbReactRichTextComponent; }; /** * Props type for React richtext node/mark components. * Similar to SbRichTextProps but uses ReactNode for children instead of string. */ export declare type SbReactRichTextProps = SbRichTextElementByType[T] & { children?: ReactNode; }; export declare interface SbReactRichTextRenderContext { optimizeImage?: boolean | SbRichTextImageOptions; components?: SbReactRichTextComponentMap; data?: unknown; } export declare interface SbReactSDKOptions extends SbSDKOptions { components?: SbReactComponentsMap; enableFallbackComponent?: boolean; customFallbackComponent?: default_2.ElementType; } export { SbRichTextDoc } export { SbRichTextImageOptions } export { SbRichTextMark } export { SbRichTextNode } export { SbRichTextProps } declare type SbRichTextProps_2 = WrappedProps | UnwrappedProps; export { SbRichTextRenderContext } export { SbRichTextRendererMap } export { SbSDKOptions } declare interface SbServerComponentProps extends Omit, 'blok'> { blok: SbBlokData; } export declare const setComponents: (newComponentsMap: SbReactComponentsMap) => Map; export { splitTableRows } export { StoryblokBridgeConfigV2 } export { StoryblokBridgeV2 } export { StoryblokClient } export { StoryblokComponentType } export { storyblokEditable } export declare const storyblokInit: (pluginOptions?: SbReactSDKOptions) => (() => StoryblokClient); export declare const StoryblokLiveEditing: ({ story, bridgeOptions }: { story: ISbStoryData; bridgeOptions?: StoryblokBridgeConfigV2; }) => any; export declare interface StoryblokRichTextProps extends SbReactRichTextRenderContext { optimizeImage?: boolean | SbRichTextImageOptions; document?: SbRichTextInput; } export declare const StoryblokServerComponent: ForwardRefExoticComponent & RefAttributes>; export declare const StoryblokServerRichText: ({ document, optimizeImage, components, data, wrapper, ...rest }: SbRichTextProps_2) => ReactNode; /** * Shared server component for rendering Storyblok stories. * Works in both SSR and RSC contexts without server actions. */ export declare const StoryblokServerStory: ForwardRefExoticComponent & RefAttributes>; declare interface StoryblokServerStoryProps extends Omit, 'story'> { story: ISbStoryData; } export declare const StoryblokStory: ForwardRefExoticComponent & RefAttributes>; declare interface StoryblokStoryProps extends Omit, 'story' | 'bridgeOptions'> { story: ISbStoryData; bridgeOptions?: StoryblokBridgeConfigV2; } export declare type TUseStoryblokState = (initialStory: ISbStoryData | null, bridgeOptions?: StoryblokBridgeConfigV2) => ISbStoryData | null; declare type UnwrappedProps = StoryblokRichTextProps & { wrapper: false; }; export { useStoryblokBridge } export declare const useStoryblokServerRichText: (props?: SbReactRichTextRenderContext) => (document: SbRichTextInput) => ReactNode | null; declare type WrappedProps = StoryblokRichTextProps & DivProps & { wrapper?: true; }; export { }