import { type MiddlewareRoute } from "@medusajs/framework"; import { QueryConfig } from "@medusajs/types"; import { z } from "zod"; import { ProductReview } from "../../../modules/product-review/types"; export declare const listStoreProductReviewsQuerySchema: z.ZodObject<{ offset: z.ZodEffects>, number, unknown>; limit: z.ZodEffects>, number, unknown>; fields: z.ZodOptional; order: z.ZodOptional | z.ZodDefault>; q: z.ZodOptional; id: z.ZodOptional]>>; product_id: z.ZodOptional]>>; order_id: z.ZodOptional]>>; rating: z.ZodOptional]>>; created_at: z.ZodOptional]>>; updated_at: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { offset: number; limit: number; fields?: string | undefined; order?: string | undefined; q?: string | undefined; id?: string | string[] | undefined; product_id?: string | string[] | undefined; order_id?: string | string[] | undefined; rating?: number | number[] | undefined; created_at?: any; updated_at?: any; }, { offset?: unknown; limit?: unknown; fields?: string | undefined; order?: string | undefined; q?: string | undefined; id?: string | string[] | undefined; product_id?: string | string[] | undefined; order_id?: string | string[] | undefined; rating?: number | number[] | undefined; created_at?: any; updated_at?: any; }>; export declare const upsertProductReviewsSchema: z.ZodObject<{ phone: z.ZodOptional; email: z.ZodOptional; name: z.ZodOptional; reviews: z.ZodArray; order_item_id: z.ZodOptional; rating: z.ZodNumber; title: z.ZodString; description: z.ZodString; media: z.ZodArray; }, "strip", z.ZodTypeAny, { url: string; type: "IMAGE" | "VIDEO"; }, { url: string; type: "IMAGE" | "VIDEO"; }>, "many">; }, "strip", z.ZodTypeAny, { rating: number; title: string; description: string; product_id: string; media: { url: string; type: "IMAGE" | "VIDEO"; }[]; order_id?: string | undefined; order_item_id?: string | undefined; }, { rating: number; title: string; description: string; product_id: string; media: { url: string; type: "IMAGE" | "VIDEO"; }[]; order_id?: string | undefined; order_item_id?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { reviews: { rating: number; title: string; description: string; product_id: string; media: { url: string; type: "IMAGE" | "VIDEO"; }[]; order_id?: string | undefined; order_item_id?: string | undefined; }[]; phone?: string | undefined; email?: string | undefined; name?: string | undefined; }, { reviews: { rating: number; title: string; description: string; product_id: string; media: { url: string; type: "IMAGE" | "VIDEO"; }[]; order_id?: string | undefined; order_item_id?: string | undefined; }[]; phone?: string | undefined; email?: string | undefined; name?: string | undefined; }>; export type UpsertProductReviewsSchema = z.infer; export declare const createProductReviewsSchema: z.ZodObject<{ phone: z.ZodOptional; email: z.ZodOptional; name: z.ZodOptional; product_id: z.ZodString; order: z.ZodOptional>; rating: z.ZodNumber; title: z.ZodOptional; description: z.ZodString; medias: z.ZodArray; }, "strip", z.ZodTypeAny, { url: string; type: "IMAGE" | "VIDEO"; }, { url: string; type: "IMAGE" | "VIDEO"; }>, "many">; }, "strip", z.ZodTypeAny, { rating: number; description: string; product_id: string; medias: { url: string; type: "IMAGE" | "VIDEO"; }[]; phone?: string | undefined; email?: string | undefined; name?: string | undefined; order?: { id: string; item_id: string; } | undefined; title?: string | undefined; }, { rating: number; description: string; product_id: string; medias: { url: string; type: "IMAGE" | "VIDEO"; }[]; phone?: string | undefined; email?: string | undefined; name?: string | undefined; order?: { id: string; item_id: string; } | undefined; title?: string | undefined; }>; export type CreateProductReviewsSchemaType = z.infer; export declare const updateProductReviewsSchema: z.ZodObject<{ rating: z.ZodOptional; title: z.ZodOptional; description: z.ZodOptional; medias: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; type: "IMAGE" | "VIDEO"; }, { url: string; type: "IMAGE" | "VIDEO"; }>, "many">>; }, "strip", z.ZodTypeAny, { rating?: number | undefined; title?: string | undefined; description?: string | undefined; medias?: { url: string; type: "IMAGE" | "VIDEO"; }[] | undefined; }, { rating?: number | undefined; title?: string | undefined; description?: string | undefined; medias?: { url: string; type: "IMAGE" | "VIDEO"; }[] | undefined; }>; export type UpdateProductReviewsSchemaType = z.infer; export declare const defaultStoreProductReviewFields: string[]; export declare const allowedStoreProductReviewFields: string[]; export declare const defaultStoreReviewsQueryConfig: QueryConfig; export declare const checkReviewEligibilityQuerySchema: z.ZodEffects; email: z.ZodOptional; phone: z.ZodOptional; product_id: z.ZodString; }, "strip", z.ZodTypeAny, { product_id: string; customer_id?: string | undefined; email?: string | undefined; phone?: string | undefined; }, { product_id: string; customer_id?: string | undefined; email?: string | undefined; phone?: string | undefined; }>, { product_id: string; customer_id?: string | undefined; email?: string | undefined; phone?: string | undefined; }, { product_id: string; customer_id?: string | undefined; email?: string | undefined; phone?: string | undefined; }>; export type CheckReviewEligibilityQuery = z.infer; export declare const storeProductReviewRoutesMiddlewares: MiddlewareRoute[];