UNPKG

1.11 kBTypeScriptView Raw
1import { ReactNode } from 'react';
2import { Channel } from '@storybook/channels';
3import { ThemeVars } from '@storybook/theming';
4import { API, State, ModuleFn, Root, Group, Story } from '../index';
5import { StoryMapper, Refs } from './refs';
6import { UIOptions } from './layout';
7interface SidebarOptions {
8 showRoots?: boolean;
9 collapsedRoots?: string[];
10 renderLabel?: (item: Root | Group | Story) => ReactNode;
11}
12declare type IframeRenderer = (storyId: string, viewMode: State['viewMode'], id: string, baseUrl: string, scale: number, queryParams: Record<string, any>) => ReactNode;
13export interface Provider {
14 channel?: Channel;
15 serverChannel?: Channel;
16 renderPreview?: IframeRenderer;
17 handleAPI(api: API): void;
18 getConfig(): {
19 sidebar?: SidebarOptions;
20 theme?: ThemeVars;
21 refs?: Refs;
22 StoryMapper?: StoryMapper;
23 [k: string]: any;
24 } & Partial<UIOptions>;
25 [key: string]: any;
26}
27export interface SubAPI {
28 renderPreview?: Provider['renderPreview'];
29}
30export declare const init: ModuleFn;
31export {};