import type { ComponentType } from 'react'; import React from 'react'; import type { ComponentUI } from '@teambit/component'; import type { SlotRegistry } from '@teambit/harmony'; import type { ComponentCompareUI } from '@teambit/component-compare'; import type { UsePreviewProps, UseSandboxPermission } from '@teambit/preview.ui.component-preview'; import type { APIReferenceUI } from '@teambit/api-reference'; import type { TitleBadgeSlot, TitleBadge, OverviewOptionsSlot, OverviewOptions } from './overview'; export type UsePreviewSandboxSlot = SlotRegistry; export type UsePreviewPropsSlot = SlotRegistry; export declare class DocsUI { readonly titleBadgeSlot: TitleBadgeSlot; readonly overviewOptionsSlot: OverviewOptionsSlot; private usePreviewSandboxSlot; private usePreviewPropsSlot; constructor(titleBadgeSlot: TitleBadgeSlot, overviewOptionsSlot: OverviewOptionsSlot, usePreviewSandboxSlot: UsePreviewSandboxSlot, usePreviewPropsSlot: UsePreviewPropsSlot); /** * register a new title badge into the overview section of a component. */ registerTitleBadge(titleBadges: TitleBadge | TitleBadge[]): this; /** * list all title badges registered. */ listTitleBadges(): TitleBadge[]; private _emptyState?; registerEmptyState(emptyState: ComponentType): ComponentType; registerPreviewSandbox(useSandboxPermission: UseSandboxPermission): void; /** * register a per-component resolver for iframe attributes on the overview preview * (`allow`, `referrerPolicy`, ...). The resolver runs at render time with the current * `ComponentModel`; results from multiple resolvers merge with later keys winning. */ registerPreviewProps(usePreviewProps: UsePreviewProps): void; getEmptyState(): ComponentType | undefined; getDocsCompare(): React.JSX.Element; registerOverviewOptions(options: OverviewOptions): void; static dependencies: import("@teambit/harmony").Aspect[]; static runtime: import("@teambit/harmony").RuntimeDefinition; static slots: (((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry) | ((registerFn: () => string) => SlotRegistry))[]; static provider([component, componentCompare, apiRef]: [ComponentUI, ComponentCompareUI, APIReferenceUI], config: {}, [titleBadgeSlot, overviewOptionsSlot, usePreviewSandboxSlot, usePreviewPropsSlot]: [ TitleBadgeSlot, OverviewOptionsSlot, UsePreviewSandboxSlot, UsePreviewPropsSlot ]): Promise; } export default DocsUI;