import type { ReactNode } from 'react'; import React from 'react'; import type { LaneCompareState } from '@teambit/lanes.ui.compare.lane-compare-state'; 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 { LaneId } from '@teambit/lane-id'; import type { UseLaneDiffStatus } from '@teambit/lanes.ui.compare.lane-compare-hooks.use-lane-diff-status'; import type { LaneComponentDiff } from '@teambit/lanes.entities.lane-diff'; import type { LaneFilter } from './lane-compare.models'; export type LaneCompareGroupBy = 'scope' | 'status'; export type LaneCompareProviderProps = { children: ReactNode; /** * default state of all component compare panels */ defaultComponentCompareState?: LaneCompareState; /** * filters to apply to component diffs */ filters?: Array; /** * filter out component diffs by type */ filter?: (laneComponentDiff?: LaneComponentDiff, filters?: Array) => boolean; /** * group component diffs by diff status or scope */ groupBy?: LaneCompareGroupBy; /** * hook to override fetching lane diff status for base and compare */ useLaneDiffStatus?: UseLaneDiffStatus; base?: LaneId; compare?: LaneId; tabs?: MaybeLazyLoaded; }; declare function LaneCompareProviderImpl({ defaultComponentCompareState, tabs, children, useLaneDiffStatus, base, compare, filters, groupBy, filter, }: LaneCompareProviderProps): React.JSX.Element; export declare const LaneCompareProvider: React.MemoExoticComponent; export {};