export type ResolutionStatus = 'yes' | 'no' | 'partially'; export type SatisfactionRating = 1 | 2 | 3 | 4 | 5; export interface ResolutionUser { id?: string; email?: string; name?: string; } export interface ResolutionMetadata { url: string; timestamp: string; viewport: { width: number; height: number; }; userAgent: string; /** Time in ms from ticket creation to resolution (if ticketId provided) */ timeToResolution?: number; } export interface ResolutionData { /** Whether the issue was resolved */ resolved: ResolutionStatus; /** Satisfaction rating 1-5 */ satisfaction: SatisfactionRating; /** Optional feedback on what could have been better */ feedback?: string; /** If not resolved, what's still wrong */ stillNeedsHelp?: string; /** Whether the user wants a follow-up */ wantsFollowUp?: boolean; /** Reference to original support ticket/interaction */ ticketId?: string; /** User information */ user?: ResolutionUser; /** App-specific context */ context?: Record; /** Auto-captured metadata */ metadata?: ResolutionMetadata; } export interface ResolutionProps { /** Display variant */ variant?: 'popover' | 'modal'; /** Popover position relative to trigger */ side?: 'top' | 'bottom' | 'left' | 'right'; /** Trigger button label */ triggerLabel?: string; /** Dialog/popover title */ title?: string; /** Reference to original support ticket/interaction */ ticketId?: string; /** Show follow-up checkbox */ showFollowUp?: boolean; /** User information for attribution */ user?: ResolutionUser; /** App-specific context */ context?: Record; /** Auto-capture URL, timestamp, viewport, userAgent */ captureMetadata?: boolean; /** Callback when resolution submitted (takes precedence over apiEndpoint) */ onSubmit?: (data: ResolutionData) => Promise | void; /** API endpoint to POST resolution data to */ apiEndpoint?: string; /** Submit button label */ submitLabel?: string; /** Additional class for trigger button */ className?: string; } //# sourceMappingURL=types.d.ts.map