import { Beat } from '../../core'; import { BeatActions, InsightRating } from '../beatActions'; import { DismissType } from '../components/DismissInsightDialog'; import { FeedbackDialogCloseReason } from '../components/FeedbackDialog'; export type FeedbackVariant = InsightRating | 'hide'; export type CardState = 'visible' | 'confirming' | 'dismissed'; /** * Manages feedback and dismiss UI state for a beat card. * Handles feedback bar, dismiss dialog, confirmation card, and survey dialogs. */ export declare const useBeatFeedbackFlow: (beat: Beat, beatActions: BeatActions) => { cardState: CardState; isDismissOpen: boolean; isSurveyOpen: boolean; isFeedbackBarShown: boolean; survey: { characterLimitLabel: string; closeAriaLabel: string; submitText: string; backText: string; title: string; options: string[]; }; wrappedActions: BeatActions; openRatingSurvey: () => void; openHideSurvey: () => void; closeSurvey: (reason?: FeedbackDialogCloseReason) => void; submitSurvey: (option: string, detail?: string) => void; confirmDismiss: (type: DismissType) => void; undoDismiss: () => void; collapseConfirmation: () => void; closeDismissDialog: () => void; feedbackDialogCallbacks: { onBackClick: (() => void) | undefined; onTextInputFocus: (() => void) | undefined; }; };