import { type VariantProps } from 'class-variance-authority'; import * as React from 'react'; declare const feedbackBarVariants: (props?: ({ variant?: "default" | "inline" | "subtle" | null | undefined; size?: "lg" | "md" | "sm" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; declare const feedbackButtonVariants: (props?: ({ variant?: "default" | "negative" | "positive" | "selected" | null | undefined; size?: "lg" | "md" | "sm" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type FeedbackType = 'positive' | 'negative' | null; export interface FeedbackData { type: FeedbackType; reason?: string; comment?: string; } export interface FeedbackReason { key: string; label: string; } interface FeedbackButtonProps { type: 'positive' | 'negative'; isSelected: boolean; onClick: () => void; size?: 'sm' | 'md' | 'lg'; disabled?: boolean; } declare function FeedbackButton({ type, isSelected, onClick, size, disabled, }: FeedbackButtonProps): React.JSX.Element; export interface AIFeedbackBarProps extends VariantProps { /** Current feedback value */ value?: FeedbackType; /** Callback when feedback changes */ onChange?: (feedback: FeedbackData) => void; /** Whether to show feedback form for comments */ showForm?: boolean; /** Configurable reason options for negative feedback */ reasons?: FeedbackReason[]; /** Prompt text before the buttons */ prompt?: string; /** Thank you message after submitting */ thankYouMessage?: string; /** Placeholder for comment textarea */ commentPlaceholder?: string; /** Whether comment is required to submit (default: false) */ commentRequired?: boolean; /** Whether to allow changing feedback after submission */ allowChange?: boolean; /** Additional class name */ className?: string; } declare function AIFeedbackBar({ value, onChange, showForm, reasons, prompt, thankYouMessage, commentPlaceholder, commentRequired, allowChange, variant, size, className, }: AIFeedbackBarProps): React.JSX.Element; declare namespace AIFeedbackBar { var displayName: string; } export interface AIFeedbackIconsProps { /** Current feedback value */ value?: FeedbackType; /** Callback when feedback changes */ onChange?: (type: FeedbackType) => void; /** Icon size */ size?: 'sm' | 'md' | 'lg'; /** Additional class name */ className?: string; } declare function AIFeedbackIcons({ value, onChange, size, className, }: AIFeedbackIconsProps): React.JSX.Element; declare namespace AIFeedbackIcons { var displayName: string; } export { AIFeedbackBar, AIFeedbackIcons, FeedbackButton, feedbackBarVariants, feedbackButtonVariants, };