import React, { ComponentType } from 'react';
import { ComponentUI } from '@teambit/component';
import { ComponentCompareUI } from '@teambit/component-compare';
import { APIReferenceUI } from '@teambit/api-reference';
import type { TitleBadgeSlot, TitleBadge, OverviewOptionsSlot, OverviewOptions } from './overview';
export declare class DocsUI {
    readonly titleBadgeSlot: TitleBadgeSlot;
    readonly overviewOptionsSlot: OverviewOptionsSlot;
    constructor(titleBadgeSlot: TitleBadgeSlot, overviewOptionsSlot: OverviewOptionsSlot);
    /**
     * 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): React.ComponentType;
    getEmptyState(): React.ComponentType | undefined;
    getDocsCompare(): import("react/jsx-runtime").JSX.Element;
    registerOverviewOptions(options: OverviewOptions): void;
    static dependencies: import("@teambit/harmony").Aspect[];
    static runtime: import("@teambit/harmony").RuntimeDefinition;
    static slots: (((registerFn: () => string) => import("@teambit/harmony").SlotRegistry<TitleBadge>) | ((registerFn: () => string) => import("@teambit/harmony").SlotRegistry<OverviewOptions>))[];
    static provider([component, componentCompare, apiRef]: [ComponentUI, ComponentCompareUI, APIReferenceUI], config: any, [titleBadgeSlot, overviewOptionsSlot]: [TitleBadgeSlot, OverviewOptionsSlot]): Promise<DocsUI>;
}
export default DocsUI;
