export type Sentiment = 'very-dissatisfied' | 'dissatisfied' | 'neutral' | 'satisfied' | 'very-satisfied'; export interface FeedbackUser { id?: string; email?: string; name?: string; } export interface FeedbackMetadata { url: string; timestamp: string; viewport: { width: number; height: number; }; userAgent: string; } export interface FeedbackData { sentiment: Sentiment; message?: string; user?: FeedbackUser; context?: Record; metadata?: FeedbackMetadata; } export interface FeedbackProps { /** Display variant */ variant?: 'popover' | 'modal'; /** Popover position relative to trigger */ side?: 'top' | 'bottom' | 'left' | 'right'; /** Trigger button label (icon-only if not set) */ triggerLabel?: string; /** Dialog/popover title */ title?: string; /** User information for attribution */ user?: FeedbackUser; /** App-specific context (conversationId, featureName, etc.) */ context?: Record; /** Auto-capture URL, timestamp, viewport, userAgent */ captureMetadata?: boolean; /** Callback when feedback submitted (takes precedence over apiEndpoint) */ onSubmit?: (data: FeedbackData) => Promise | void; /** API endpoint to POST feedback to */ apiEndpoint?: string; /** Textarea placeholder */ placeholder?: string; /** Submit button label */ submitLabel?: string; /** Additional class for trigger button */ className?: string; } //# sourceMappingURL=types.d.ts.map