import { type VariantProps } from 'class-variance-authority';
declare const feedbackBarVariants: (props?: ({
    variant?: "inline" | "default" | "subtle" | null | undefined;
    size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
declare const feedbackButtonVariants: (props?: ({
    variant?: "default" | "selected" | "positive" | "negative" | null | undefined;
    size?: "sm" | "md" | "lg" | 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): import("react/jsx-runtime").JSX.Element;
export interface AIFeedbackBarProps extends VariantProps<typeof feedbackBarVariants> {
    /** 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): import("react/jsx-runtime").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): import("react/jsx-runtime").JSX.Element;
declare namespace AIFeedbackIcons {
    var displayName: string;
}
export { AIFeedbackBar, AIFeedbackIcons, FeedbackButton, feedbackBarVariants, feedbackButtonVariants, };
