/**
 * Rating State Store - 评价状态管理
 *
 * 管理用户对 AI 消息的评价（点赞/点踩）和反馈
 * 包括评价数据存储、反馈对话框管理、统计等功能
 */
import { RatingItem } from "../types";
export declare const ratingStore$: import("@legendapp/state").Observable<{
    negative: Record<string, RatingItem>;
    positive: Record<string, RatingItem>;
    feedbackDialog: {
        isOpen: boolean;
        rating: null | "positive" | "negative";
        targetMessageId: null | string;
    };
}>;
export declare const ratingComputed$: import("@legendapp/state").Observable<{
    ratingsStats: () => {
        positiveCount: number;
        negativeCount: number;
    };
    totalRatings: () => number;
    allRatings: () => {
        chatId: string;
        createdAt: string;
        feedback?: {
            comment?: string | undefined;
            reason?: string | undefined;
        } | undefined;
        id: string;
        messageId: string;
        question: string;
        rating: "positive" | "negative";
        response: string;
        userId: string;
        additionalFeedback?: string | undefined;
        aiMessageId?: string | undefined;
        aiResponse?: string | undefined;
        ratedAt?: string | undefined;
        reason?: string | undefined;
        userMessageId?: string | undefined;
        userQuestion?: string | undefined;
    }[];
}>;
export declare const ratingActions: {
    addRating: (rating: RatingItem) => void;
    removeRating: (ratingId: string) => void;
    resetRatings: () => void;
    getRatingByMessageId: (messageId: string) => RatingItem | null;
    getAllRatings: () => RatingItem[];
    getPositiveRatings: () => RatingItem[];
    getNegativeRatings: () => RatingItem[];
    clearAllRatings: () => void;
    getRating: (ratingId: string) => RatingItem | null;
    getRatingsByType: (type: "positive" | "negative") => RatingItem[];
    getTotalRatings: () => {
        positiveCount: number;
        negativeCount: number;
        totalCount: number;
    };
    openFeedbackDialog: (messageId: string, rating: "positive" | "negative") => void;
    closeFeedbackDialog: () => void;
    submitFeedback: (data: {
        additionalFeedback?: string;
        messageId: string;
        rating: "positive" | "negative";
        reason?: string;
    }) => void;
};
