import type { ComponentType } from 'react'; import React from 'react'; import type { SlotRegistry } from '@teambit/harmony'; import type { ComponentPreviewProps } from '@teambit/preview.ui.component-preview'; import type { UsePreviewSandboxSlot } from '@teambit/compositions'; import type { UsePreviewPropsSlot } from '../docs.ui.runtime'; export declare enum BadgePosition { Title = 0, SubTitle = 1, Labels = 2, Package = 3 } export type TitleBadge = { component: ComponentType; weight?: number; position?: BadgePosition; }; export type TitleBadgeSlot = SlotRegistry; export type OverviewOptions = () => { queryParams?: string; renderCompositionsFirst?: boolean; defaultPkgManager?: 'npm' | 'yarn' | 'pnpm' | 'bit'; }; export type OverviewOptionsSlot = SlotRegistry; export type OverviewProps = { titleBadges: TitleBadgeSlot; overviewOptions: OverviewOptionsSlot; previewProps?: Partial; getEmptyState?: () => ComponentType | undefined; TaggedAPI?: React.ComponentType<{ componentId: string; }>; usePreviewSandboxSlot?: UsePreviewSandboxSlot; /** * per-component resolvers for iframe attributes on the overview preview (`allow`, * `referrerPolicy`, ...). Each resolver gets the current `ComponentModel`; results merge * with later registrations winning. */ usePreviewPropsSlot?: UsePreviewPropsSlot; }; export declare function Overview({ titleBadges, overviewOptions, previewProps, getEmptyState, TaggedAPI, usePreviewSandboxSlot, usePreviewPropsSlot, }: OverviewProps): React.JSX.Element;