/// import { ReviewStatusEnum } from '../Account/types'; import { PaginationClassName } from '../Pagination/type'; import { ThumborSettingType } from '../Common/types'; import { ProductInfoClassesType } from './components/ProductInfo'; import { ProductReviewListProps } from './components/ProductReviewList'; import { OrderReviewHeadClassesType } from './components/OrderReviewHead'; import { ProductReviewFormClassesType } from './components/ProductReviewForm'; import { ProductReviewCardClassesType } from './components/ProductReviewCard'; import { PopupConfirmationClassesType } from './components/PopupConfirmation'; /** Schema Based Typings */ declare type OrderAddress = { name: string; email: string; }; export declare type OrderInfoType = { ID: string; status: string; billingAddress: OrderAddress; createdAt: number; }; export declare type OrderInfoResponseType = { members: Array<{ orders: { items: Array; }; }>; }; export declare type OrderInfoParamType = { memberID?: string | null; }; declare type ProductDetailType = { name: string; language: string; }; declare type ProductType = { imageURLs: Array; details: Array; }; export declare type ProductReviewType = { ID: string; productID: string; status: ReviewStatusEnum; product: ProductType; rating: number; review?: string; reviewerEmail?: string; reviewerName?: string; imageURLs: Array; videoURLs: Array; }; export declare type PagedProductReviewResponseType = { brands: Array<{ productReviews: { items: Array; pageInfo: { totalItems: number; itemPerPage: number; pageNumber: number; }; }; }>; }; export declare type OrderReviewProps = Partial> & Partial> & Partial> & { orderID: string; starColor?: string; classes?: Partial; reviewsNextLabel?: React.ReactNode; reviewsPrevLabel?: React.ReactNode; itemPerPageOptions?: Array; loadingComponent?: React.ReactNode; errorComponent?: React.ReactNode; thumborSetting: ThumborSettingType; onSuccessMsg: (msg: string) => void; onErrorMsg: (msg: string) => void; }; declare type ItemPerPageClassesType = { itemPerPageClassName?: string; itemPerPageOptionsClassName?: string; itemPerPageOptionClassName?: string; itemPerPageActiveClassName?: string; }; declare type ProductReviewFilterType = { orderIDs: Array; status?: Array | null; }; declare type ProductReviewSortType = { isAscending: boolean; }; declare type ProductReviewPageType = { pageNumber: number; itemPerPage: number; }; export declare type PagedProductReviewParamType = { filter?: ProductReviewFilterType; sort?: ProductReviewSortType; page?: ProductReviewPageType; }; export declare type ProductReviewUpsertInputType = Omit & { brandID: string | null; reviewerName: string; reviewerEmail: string; orderID: string; }; export declare type ProductReviewUpsertParamType = { input: { specs: Array; }; }; export declare type ProductReviewUpsertResponseType = Pick & { submittedAt: number; }; /** End of Schema Based Typings */ export declare type ProductReviewInputType = Pick; export declare type FileURLType = { id: number; url: string; type: string; }; export {};