///
import { ThumborSettingType } from '../Common/types';
import { PaginationClassName } from '../Pagination/type';
import { FilterClassesType } from './components/Filter';
import { ReviewSortClassesType } from './components/Sort';
export declare const defaultSortList: SelectedSortType[];
export declare type FileURLType = {
id: number;
url: string;
type: string;
};
export declare type ProductReviewsType = {
ID: string;
brandID: string;
orderID: string;
orderCompletedAt: number;
productID: string;
rating: number;
review: string;
imageURLs: string[];
videoURLs: string[];
reviewerName: string;
reviewerEmail: string;
customerID: string;
createdByAdmin: boolean;
submittedAt: number;
fileURLs: FileURLType[];
status: 'DRAFT' | 'PENDING' | 'APPROVED' | 'REJECTED';
};
export declare type ProductReviewProps = {
productID: string | null;
productName: string | null;
errorComponent?: string | React.ReactNode;
loadingComponent?: string | React.ReactNode;
iconClose?: React.ReactNode;
iconLeft?: React.ReactNode;
iconRight?: React.ReactNode;
starColor?: string;
reviewsNextLabel?: React.ReactNode;
reviewsPrevLabel?: React.ReactNode;
classes?: Partial;
reviewsPaginationClasses?: PaginationClassName;
thumborSetting: ThumborSettingType;
itemPerPageOptions?: Array;
getTotalAllReviews?: (total: number) => void;
customEmptyComponentReviewsByAdmin?: React.ReactNode;
customEmptyComponentReviews?: React.ReactNode;
lazyLoadedImage?: boolean;
widthImage?: number;
heightImage?: number;
};
export declare type ProductReviewClassesType = {
reviewListContainerClassName?: string;
reviewListStarContainerClassName?: string;
reviewListStarInfoClassName?: string;
reviewListDescriptionClassName?: string;
reviewListImageContainerClassName?: string;
reviewListImageClassName?: string;
reviewListFooterClassName?: string;
reviewListAuthorClassName?: string;
reviewListDateClassName?: string;
reviewImageContainerClassName?: string;
reviewImageTitleClassName?: string;
reviewImageClassName?: string;
reviewPopupContentClassName?: string;
reviewPopupContainerClassName?: string;
reviewPopupImagePopupClassName?: string;
reviewPopupLeftButtonClassName?: string;
reviewPopupRightButtonClassName?: string;
reviewPopupButtonCloseClassName?: string;
reviewPopupImagePreviewClassName?: string;
reviewPopupPreviewClassName?: string;
itemPerPageClassName?: string;
itemPerPageLabelClassName?: string;
itemPerPageOptionsClassName?: string;
itemPerPageOptionClassName?: string;
itemPerPageActiveClassName?: string;
};
export declare type ProductReviewSortType = {
fieldName?: 'SUBMITTED' | 'RATING';
isAscending?: boolean;
};
export declare type SelectedSortType = {
fieldName: 'SUBMITTED' | 'RATING';
isAscending: boolean;
key: string;
};