import { z } from 'zod'; import type { KizooShopClient } from './client.js'; /** * Product object returned from API */ export declare const ProductSchema: z.ZodObject<{ _id: z.ZodString; name: z.ZodString; description: z.ZodOptional; price: z.ZodNumber; originalPrice: z.ZodOptional; images: z.ZodArray; productType: z.ZodEnum<["simple", "variable"]>; stock: z.ZodNumber; status: z.ZodEnum<["active", "inactive", "draft"]>; variants: z.ZodOptional, "many">>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; name: string; price: number; images: string[]; status: "active" | "inactive" | "draft"; productType: "simple" | "variable"; stock: number; createdAt: string; updatedAt: string; description?: string | undefined; originalPrice?: number | undefined; variants?: { _id: string; name: string; price: number; stock: number; }[] | undefined; }, { _id: string; name: string; price: number; images: string[]; status: "active" | "inactive" | "draft"; productType: "simple" | "variable"; stock: number; createdAt: string; updatedAt: string; description?: string | undefined; originalPrice?: number | undefined; variants?: { _id: string; name: string; price: number; stock: number; }[] | undefined; }>; export type Product = z.infer; /** * Order object returned from API */ export declare const OrderSchema: z.ZodObject<{ _id: z.ZodString; orderId: z.ZodString; customerId: z.ZodString; customerEmail: z.ZodString; customerName: z.ZodString; customerPhone: z.ZodOptional; items: z.ZodArray; }, "strip", z.ZodTypeAny, { price: number; productId: string; productName: string; quantity: number; variantId?: string | undefined; }, { price: number; productId: string; productName: string; quantity: number; variantId?: string | undefined; }>, "many">; subtotal: z.ZodNumber; shippingCost: z.ZodNumber; tax: z.ZodNumber; total: z.ZodNumber; status: z.ZodEnum<["pending", "processing", "shipped", "delivered", "cancelled"]>; paymentStatus: z.ZodEnum<["pending", "completed", "failed", "refunded"]>; shippingAddress: z.ZodOptional>; shippingInfo: z.ZodOptional; trackingNumber: z.ZodOptional; estimatedDelivery: z.ZodOptional; }, "strip", z.ZodTypeAny, { method?: string | undefined; trackingNumber?: string | undefined; estimatedDelivery?: string | undefined; }, { method?: string | undefined; trackingNumber?: string | undefined; estimatedDelivery?: string | undefined; }>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; status: "pending" | "processing" | "shipped" | "delivered" | "cancelled"; createdAt: string; updatedAt: string; orderId: string; customerId: string; customerEmail: string; customerName: string; items: { price: number; productId: string; productName: string; quantity: number; variantId?: string | undefined; }[]; subtotal: number; shippingCost: number; tax: number; total: number; paymentStatus: "pending" | "completed" | "failed" | "refunded"; customerPhone?: string | undefined; shippingAddress?: { fullName: string; street: string; city: string; postalCode: string; country: string; } | undefined; shippingInfo?: { method?: string | undefined; trackingNumber?: string | undefined; estimatedDelivery?: string | undefined; } | undefined; }, { _id: string; status: "pending" | "processing" | "shipped" | "delivered" | "cancelled"; createdAt: string; updatedAt: string; orderId: string; customerId: string; customerEmail: string; customerName: string; items: { price: number; productId: string; productName: string; quantity: number; variantId?: string | undefined; }[]; subtotal: number; shippingCost: number; tax: number; total: number; paymentStatus: "pending" | "completed" | "failed" | "refunded"; customerPhone?: string | undefined; shippingAddress?: { fullName: string; street: string; city: string; postalCode: string; country: string; } | undefined; shippingInfo?: { method?: string | undefined; trackingNumber?: string | undefined; estimatedDelivery?: string | undefined; } | undefined; }>; export type Order = z.infer; /** * Booking object returned from API */ export declare const BookingSchema: z.ZodObject<{ _id: z.ZodString; serviceId: z.ZodString; serviceName: z.ZodString; customerId: z.ZodString; customerName: z.ZodString; customerEmail: z.ZodString; customerPhone: z.ZodOptional; bookingDate: z.ZodString; bookingTime: z.ZodString; duration: z.ZodNumber; status: z.ZodEnum<["pending", "confirmed", "completed", "cancelled"]>; notes: z.ZodOptional; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; status: "pending" | "cancelled" | "completed" | "confirmed"; createdAt: string; updatedAt: string; customerId: string; customerEmail: string; customerName: string; serviceId: string; serviceName: string; bookingDate: string; bookingTime: string; duration: number; customerPhone?: string | undefined; notes?: string | undefined; }, { _id: string; status: "pending" | "cancelled" | "completed" | "confirmed"; createdAt: string; updatedAt: string; customerId: string; customerEmail: string; customerName: string; serviceId: string; serviceName: string; bookingDate: string; bookingTime: string; duration: number; customerPhone?: string | undefined; notes?: string | undefined; }>; export type Booking = z.infer; /** * Service object returned from API */ export declare const ServiceSchema: z.ZodObject<{ _id: z.ZodString; name: z.ZodString; description: z.ZodOptional; price: z.ZodNumber; duration: z.ZodNumber; availability: z.ZodArray; startTime: z.ZodString; endTime: z.ZodString; }, "strip", z.ZodTypeAny, { day: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; startTime: string; endTime: string; }, { day: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; startTime: string; endTime: string; }>, "many">; status: z.ZodEnum<["active", "inactive"]>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; name: string; price: number; status: "active" | "inactive"; createdAt: string; updatedAt: string; duration: number; availability: { day: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; startTime: string; endTime: string; }[]; description?: string | undefined; }, { _id: string; name: string; price: number; status: "active" | "inactive"; createdAt: string; updatedAt: string; duration: number; availability: { day: "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; startTime: string; endTime: string; }[]; description?: string | undefined; }>; export type Service = z.infer; /** * Collection object returned from API */ export declare const CollectionSchema: z.ZodObject<{ _id: z.ZodString; name: z.ZodString; description: z.ZodOptional; image: z.ZodOptional; products: z.ZodArray; status: z.ZodEnum<["active", "inactive"]>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; name: string; status: "active" | "inactive"; createdAt: string; updatedAt: string; products: string[]; description?: string | undefined; image?: string | undefined; }, { _id: string; name: string; status: "active" | "inactive"; createdAt: string; updatedAt: string; products: string[]; description?: string | undefined; image?: string | undefined; }>; export type Collection = z.infer; /** * Promo object returned from API */ export declare const PromoSchema: z.ZodObject<{ _id: z.ZodString; code: z.ZodString; description: z.ZodOptional; discountType: z.ZodEnum<["percentage", "fixed"]>; discountValue: z.ZodNumber; usageLimit: z.ZodOptional; usageCount: z.ZodNumber; expiresAt: z.ZodOptional; applicableProducts: z.ZodOptional>; minOrderAmount: z.ZodOptional; active: z.ZodBoolean; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; code: string; active: boolean; createdAt: string; updatedAt: string; discountType: "percentage" | "fixed"; discountValue: number; usageCount: number; description?: string | undefined; usageLimit?: number | undefined; expiresAt?: string | undefined; applicableProducts?: string[] | undefined; minOrderAmount?: number | undefined; }, { _id: string; code: string; active: boolean; createdAt: string; updatedAt: string; discountType: "percentage" | "fixed"; discountValue: number; usageCount: number; description?: string | undefined; usageLimit?: number | undefined; expiresAt?: string | undefined; applicableProducts?: string[] | undefined; minOrderAmount?: number | undefined; }>; export type Promo = z.infer; /** * Review object returned from API */ export declare const ReviewSchema: z.ZodObject<{ _id: z.ZodString; productId: z.ZodString; productName: z.ZodString; customerId: z.ZodString; customerName: z.ZodString; rating: z.ZodNumber; comment: z.ZodString; status: z.ZodEnum<["pending", "approved", "rejected"]>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; status: "pending" | "approved" | "rejected"; createdAt: string; updatedAt: string; customerId: string; customerName: string; productId: string; productName: string; rating: number; comment: string; }, { _id: string; status: "pending" | "approved" | "rejected"; createdAt: string; updatedAt: string; customerId: string; customerName: string; productId: string; productName: string; rating: number; comment: string; }>; export type Review = z.infer; /** * Shop object returned from API */ export declare const ShopSchema: z.ZodObject<{ _id: z.ZodString; name: z.ZodString; slug: z.ZodString; description: z.ZodOptional; logo: z.ZodOptional; banner: z.ZodOptional; email: z.ZodString; phone: z.ZodOptional; address: z.ZodOptional; city: z.ZodOptional; postalCode: z.ZodOptional; country: z.ZodOptional; socialLinks: z.ZodOptional; instagram: z.ZodOptional; twitter: z.ZodOptional; tiktok: z.ZodOptional; }, "strip", z.ZodTypeAny, { facebook?: string | undefined; instagram?: string | undefined; twitter?: string | undefined; tiktok?: string | undefined; }, { facebook?: string | undefined; instagram?: string | undefined; twitter?: string | undefined; tiktok?: string | undefined; }>>; about: z.ZodOptional; categories: z.ZodOptional>; status: z.ZodEnum<["active", "inactive", "suspended"]>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { _id: string; name: string; status: "active" | "inactive" | "suspended"; createdAt: string; updatedAt: string; slug: string; email: string; description?: string | undefined; city?: string | undefined; postalCode?: string | undefined; country?: string | undefined; logo?: string | undefined; banner?: string | undefined; phone?: string | undefined; address?: string | undefined; socialLinks?: { facebook?: string | undefined; instagram?: string | undefined; twitter?: string | undefined; tiktok?: string | undefined; } | undefined; about?: string | undefined; categories?: string[] | undefined; }, { _id: string; name: string; status: "active" | "inactive" | "suspended"; createdAt: string; updatedAt: string; slug: string; email: string; description?: string | undefined; city?: string | undefined; postalCode?: string | undefined; country?: string | undefined; logo?: string | undefined; banner?: string | undefined; phone?: string | undefined; address?: string | undefined; socialLinks?: { facebook?: string | undefined; instagram?: string | undefined; twitter?: string | undefined; tiktok?: string | undefined; } | undefined; about?: string | undefined; categories?: string[] | undefined; }>; export type Shop = z.infer; /** * Generic tool definition for MCP */ export interface ToolDefinition { name: string; description: string; inputSchema: z.ZodSchema; handler: (client: KizooShopClient, input: Record) => Promise>; } /** * Structured error class for API errors */ export declare class KizooShopError extends Error { code: string; status?: number; originalError?: Error; constructor(code: string, message: string, status?: number, originalError?: Error); } //# sourceMappingURL=types.d.ts.map