import React from 'react';
import { CourseRatingProps, CourseRatingSummaryData, CourseRatingTheme, CourseRatingLanguage } from '../shared/index.js';
export { BuildPayloadInput, CourseRatingAssets, CourseRatingData, CourseRatingFormState, CourseRatingLabels, CourseRatingSentiment, CourseRatingSubmitPayload, CourseTag, DEFAULT_FEEDBACK_OPTIONS, DEFAULT_GOOD_RATING_THRESHOLD, DEFAULT_LABELS, DEFAULT_THEME, RatingDistribution, RatingValidationResult, buildSubmitPayload, getFeedbackQuestion, getLabels, getQuestionForRating, getRatingSentiment, getTheme, isOthersOption, normalizeFeedbackOptions, validateRatingForm } from '../shared/index.js';

type ReactImageAsset = string;
type CourseRatingReactProps = CourseRatingProps<ReactImageAsset>;

declare function CourseRating({ data, onSubmitRating, onDone, onBackToHome, enableClose, onClose, language, labels: labelOverrides, feedbackOptions, goodRatingThreshold, assets, theme: themeOverrides }: CourseRatingReactProps): React.JSX.Element | null;

type CourseRatingSummaryProps = {
    data: CourseRatingSummaryData;
    theme?: CourseRatingTheme;
    waveImage?: string;
    language?: CourseRatingLanguage;
};
declare function CourseRatingSummary({ data, theme, waveImage, language, }: CourseRatingSummaryProps): React.JSX.Element;

type CourseRatingScoreProps = {
    score: number;
    totalRatings?: number;
    size?: number;
    showText?: boolean;
};
declare function CourseRatingScore({ score, totalRatings, size, showText, }: CourseRatingScoreProps): React.JSX.Element;

type StarRatingProps = {
    rating: number;
    size?: number;
};
declare function StarRating({ rating, size }: StarRatingProps): React.JSX.Element;

export { CourseRating, CourseRatingLanguage, CourseRatingProps, type CourseRatingReactProps, CourseRatingScore, CourseRatingSummary, CourseRatingSummaryData, CourseRatingTheme, type ReactImageAsset, StarRating };
