import { default as default_2 } from 'react'; import * as React_2 from 'react'; /** * Listens to selectedItem from context and fetches diff via the provided callback. * Owns loading state and context updates; host (Storybook or Platform) supplies fetch logic. */ export declare function KnowledgeReviewDiffLoader({ fetchDiffForItem }: KnowledgeReviewDiffLoaderProps): null; export declare type KnowledgeReviewDiffLoaderProps = { /** Called when selectedItem changes. Return diff payload or null. */ fetchDiffForItem: (itemId: string) => Promise; }; /** * Panel that shows the selected diff (title + content), suggestion count, and article nav. * Must be used inside ReviewsSelectionProvider. Expects --knowledge-review-scroll-height * to be set by a parent for ScrollArea height. */ export declare function KnowledgeReviewPanel({ diffTitle, items, isLoading, totalItemsCount, showActionButtons, children, sourceIcon, sourceDescription, }: KnowledgeReviewPanelProps): default_2.JSX.Element; export declare type KnowledgeReviewPanelProps = { diffTitle: string; items: ReviewListItemProps[]; isLoading?: boolean; totalItemsCount?: number; showActionButtons?: boolean; children?: default_2.ReactNode; sourceIcon: default_2.ReactNode; sourceDescription: string | null; }; export declare const KnowledgeReviewScene: default_2.ForwardRefExoticComponent>; export declare type KnowledgeReviewSceneHandle = { selectedItem: ReviewListItemProps | null; setSelectedItem: (item: ReviewListItemProps | null) => void; }; export declare type KnowledgeReviewSceneProps = { diffTitle?: string; children: default_2.ReactNode; items: ReviewListItemProps[]; isLoading?: boolean; /** Total number of review list items available (can exceed currently loaded `items.length`). */ totalItemsCount?: number; /** Controls visibility of the Reject / Accept action buttons in the review header. */ showActionButtons?: boolean; className?: string; onApproveAllSuggestions: () => void; onRejectAllSuggestions: () => void; onAcceptAndPublish?: () => void; onOpenArticleLink?: () => void; onSourceLinkClick?: () => void; breadcrumb?: string; sourceIcon: default_2.ReactNode; sourceDescription: string | null; suggestionReasonBody?: string; }; export declare type LoadedDiffDoc = { isNew: boolean; diffTitle: string; diffContent: default_2.ReactNode; }; export declare interface ReviewListItemProps extends React_2.ButtonHTMLAttributes { /** Unique identifier for the knowledge article */ id: string; /** Primary text displayed in the first row */ title: string; /** Content rendered in the top-right corner (e.g. relative timestamp) */ timestamp: Date; /** Icon rendered at the start of the second row */ icon?: React_2.ReactNode; /** Text or content next to the icon in the second row */ description?: string | null; /** Whether this item is new */ isNew?: boolean; /** Whether this item has been accepted (e.g. accepted as draft) */ isAccepted?: boolean; /** Number of edits for this item */ editCount?: number; /** Whether this item is currently selected */ isSelected?: boolean; } declare type ReviewsProviderProps = { children: default_2.ReactNode; /** Optional initial selection (e.g. from server or mock data) */ defaultSelectedItem?: ReviewListItemProps | null; onApproveAllSuggestions: () => void; onRejectAllSuggestions: () => void; onAcceptAndPublish?: () => void; onOpenArticleLink?: () => void; onSourceLinkClick?: () => void; breadcrumb?: string; suggestionReasonBody?: string; }; export declare function ReviewsSelectionProvider({ children, defaultSelectedItem, onApproveAllSuggestions, onRejectAllSuggestions, onAcceptAndPublish, onOpenArticleLink, onSourceLinkClick, breadcrumb, suggestionReasonBody, }: ReviewsProviderProps): default_2.JSX.Element; declare type ReviewsSelectionValue = { selectedItem: ReviewListItemProps | null; setSelectedItem: (item: ReviewListItemProps | null) => void; loadedDiffDoc: LoadedDiffDoc | null; setLoadedDiffDoc: (doc: LoadedDiffDoc | null) => void; loadingDiff: boolean; setLoadingDiff: (loading: boolean) => void; onApproveAllSuggestions: () => void; onRejectAllSuggestions: () => void; onAcceptAndPublish?: () => void; onOpenArticleLink?: () => void; onSourceLinkClick?: () => void; breadcrumb?: string; suggestionReasonBody?: string; }; export declare function useReviewsSelection(): ReviewsSelectionValue; export { }