import type { HTMLAttributes } from 'react';
import React from 'react';
import type { UseComponentType } from '@teambit/component';
import type { MaybeLazyLoaded } from '@teambit/component.ui.component-compare.utils.lazy-loading';
import type { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';
import type { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
import type { UseLaneDiffStatus } from '@teambit/lanes.ui.compare.lane-compare-hooks.use-lane-diff-status';
import type { ApiDiffInsight } from '@teambit/semantics.ui.api-diff-view';
export type LaneCompareProps = {
base: LaneModel;
compare: LaneModel;
host: string;
tabs?: MaybeLazyLoaded;
customUseComponent?: UseComponentType;
customUseLaneDiff?: UseLaneDiffStatus;
LaneCompareLoader?: React.ComponentType;
ComponentCompareLoader?: React.ComponentType;
onStateChanged?: any;
groupBy?: 'scope' | 'status';
envIcons?: Map;
/** slot-contributed API diff insight renderers (from componentCompareUI.registerApiDiffInsight) */
apiDiffInsights?: ApiDiffInsight[];
} & HTMLAttributes;
export declare const LaneCompare: React.NamedExoticComponent;