import { ReactNode } from 'react'; import { DismissType } from './components/DismissInsightDialog'; import { FeedbackDialogCloseReason } from './components/FeedbackDialog'; export type InsightMenuAction = 'helpful' | 'not_helpful' | 'hide'; export type InsightRating = 'helpful' | 'not_helpful'; export interface MenuActionHandlers { onAction: (action: InsightMenuAction) => void; onOpen?: () => void; disabled?: boolean; } export interface UpdateParams { beatGuid: string; } export interface FeedbackParams { beatGuid: string; source: InsightRating | 'hide'; option: string; detail?: string; } export interface DismissParams { beatGuid: string; type: DismissType; } /** Host callbacks for a beat card. */ export interface BeatActions { onMenuAction?: MenuActionHandlers; onUpdate?: (params: UpdateParams) => void; onSubmitFeedback?: (params: FeedbackParams) => void; onDismissInsight?: (params: DismissParams) => void; onUndoDismiss?: (params: { beatGuid: string; }) => void; onFeedbackDialogClose?: (reason: FeedbackDialogCloseReason) => void; onFeedbackDialogBack?: () => void; onFeedbackTextFocus?: () => void; } export declare const BeatActionsProvider: ({ value, children, }: { value: BeatActions; children: ReactNode; }) => import("react/jsx-runtime").JSX.Element; export declare const useBeatActions: () => BeatActions;