wiil-core-js 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/core/account/index.d.ts +7 -0
  4. package/dist/core/account/index.js +23 -0
  5. package/dist/core/account/organization.schema.d.ts +118 -0
  6. package/dist/core/account/organization.schema.js +91 -0
  7. package/dist/core/account/project.schema.d.ts +121 -0
  8. package/dist/core/account/project.schema.js +102 -0
  9. package/dist/core/account/supported-business-verticals.d.ts +8 -0
  10. package/dist/core/account/supported-business-verticals.js +23 -0
  11. package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
  12. package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
  13. package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
  14. package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
  15. package/dist/core/assistant-setups/index.d.ts +4 -0
  16. package/dist/core/assistant-setups/index.js +21 -0
  17. package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
  18. package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
  19. package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
  20. package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
  21. package/dist/core/base.schema.d.ts +34 -0
  22. package/dist/core/base.schema.js +36 -0
  23. package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
  24. package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
  25. package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
  26. package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
  27. package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
  28. package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
  29. package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
  30. package/dist/core/business-mgt/business-location.schema.js +176 -0
  31. package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
  32. package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
  33. package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
  34. package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
  35. package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
  36. package/dist/core/business-mgt/customer-management/index.js +23 -0
  37. package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
  38. package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
  39. package/dist/core/business-mgt/customer.schema.d.ts +111 -0
  40. package/dist/core/business-mgt/customer.schema.js +73 -0
  41. package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
  42. package/dist/core/business-mgt/discount-rule.schema.js +108 -0
  43. package/dist/core/business-mgt/index.d.ts +16 -0
  44. package/dist/core/business-mgt/index.js +38 -0
  45. package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
  46. package/dist/core/business-mgt/menu-config.schema.js +86 -0
  47. package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
  48. package/dist/core/business-mgt/menu-management/index.js +27 -0
  49. package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
  50. package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
  51. package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
  52. package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
  53. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
  54. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
  55. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
  56. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
  57. package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
  58. package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
  59. package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
  60. package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
  61. package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
  62. package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
  63. package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
  64. package/dist/core/business-mgt/menu.order.schema.js +149 -0
  65. package/dist/core/business-mgt/order.schema.d.ts +222 -0
  66. package/dist/core/business-mgt/order.schema.js +205 -0
  67. package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
  68. package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
  69. package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
  70. package/dist/core/business-mgt/product-config.schema.js +106 -0
  71. package/dist/core/business-mgt/product-management/index.d.ts +12 -0
  72. package/dist/core/business-mgt/product-management/index.js +28 -0
  73. package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
  74. package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
  75. package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
  76. package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
  77. package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
  78. package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
  79. package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
  80. package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
  81. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
  82. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
  83. package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
  84. package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
  85. package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
  86. package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
  87. package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
  88. package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
  89. package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
  90. package/dist/core/business-mgt/product-order.schema.js +153 -0
  91. package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
  92. package/dist/core/business-mgt/property-config.schema.js +224 -0
  93. package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
  94. package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
  95. package/dist/core/business-mgt/property-management/index.d.ts +6 -0
  96. package/dist/core/business-mgt/property-management/index.js +22 -0
  97. package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
  98. package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
  99. package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
  100. package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
  101. package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
  102. package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
  103. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
  104. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
  105. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
  106. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
  107. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
  108. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
  109. package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
  110. package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
  111. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
  112. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
  113. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
  114. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
  115. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
  116. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
  117. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
  118. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
  119. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
  120. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
  121. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
  122. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
  123. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
  124. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
  125. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
  126. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
  127. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
  128. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
  129. package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
  130. package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
  131. package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
  132. package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
  133. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
  134. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
  135. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
  136. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
  137. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
  138. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
  139. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
  140. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
  141. package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
  142. package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
  143. package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
  144. package/dist/core/business-mgt/reservation.schema.js +89 -0
  145. package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
  146. package/dist/core/business-mgt/service-appointment.schema.js +69 -0
  147. package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
  148. package/dist/core/business-mgt/service-config.schema.js +102 -0
  149. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
  150. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
  151. package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
  152. package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
  153. package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
  154. package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
  155. package/dist/core/business-mgt/service-management/index.d.ts +13 -0
  156. package/dist/core/business-mgt/service-management/index.js +29 -0
  157. package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
  158. package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
  159. package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
  160. package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
  161. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
  162. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
  163. package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
  164. package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
  165. package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
  166. package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
  167. package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
  168. package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
  169. package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
  170. package/dist/core/business-mgt/service-person.schema.js +38 -0
  171. package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
  172. package/dist/core/business-mgt/tax-rule.schema.js +90 -0
  173. package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
  174. package/dist/core/conversation/conversation-config.schema.js +351 -0
  175. package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
  176. package/dist/core/conversation/conversation-message.schema.js +275 -0
  177. package/dist/core/conversation/index.d.ts +12 -0
  178. package/dist/core/conversation/index.js +28 -0
  179. package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
  180. package/dist/core/conversation/outbound-call.schema.js +116 -0
  181. package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
  182. package/dist/core/conversation/outbound-email.schema.js +150 -0
  183. package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
  184. package/dist/core/conversation/outbound-sms.schema.js +85 -0
  185. package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
  186. package/dist/core/conversation/outbound-template.schema.js +160 -0
  187. package/dist/core/conversation/translation-config.schema.d.ts +92 -0
  188. package/dist/core/conversation/translation-config.schema.js +88 -0
  189. package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
  190. package/dist/core/conversation/translation-conversation.schema.js +175 -0
  191. package/dist/core/index.d.ts +12 -0
  192. package/dist/core/index.js +30 -0
  193. package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
  194. package/dist/core/service-configuration/agent-config.schema.js +152 -0
  195. package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
  196. package/dist/core/service-configuration/base-agent-setup.js +123 -0
  197. package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
  198. package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
  199. package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
  200. package/dist/core/service-configuration/deployment-config.schema.js +271 -0
  201. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
  202. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
  203. package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
  204. package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
  205. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
  206. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
  207. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
  208. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
  209. package/dist/core/service-configuration/index.d.ts +17 -0
  210. package/dist/core/service-configuration/index.js +33 -0
  211. package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
  212. package/dist/core/service-configuration/instruction-config.schema.js +139 -0
  213. package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
  214. package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
  215. package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
  216. package/dist/core/service-configuration/knowledge.schema.js +106 -0
  217. package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
  218. package/dist/core/service-configuration/phone-config.schema.js +121 -0
  219. package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
  220. package/dist/core/service-configuration/phone-number.schema.js +211 -0
  221. package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
  222. package/dist/core/service-configuration/provisioning-config.js +307 -0
  223. package/dist/core/service-configuration/support-llm.d.ts +95 -0
  224. package/dist/core/service-configuration/support-llm.js +76 -0
  225. package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
  226. package/dist/core/service-configuration/voice-language.schema.js +166 -0
  227. package/dist/core/type-definitions/account-definitions.d.ts +82 -0
  228. package/dist/core/type-definitions/account-definitions.js +88 -0
  229. package/dist/core/type-definitions/business-definitions.d.ts +394 -0
  230. package/dist/core/type-definitions/business-definitions.js +447 -0
  231. package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
  232. package/dist/core/type-definitions/conversation.type.definition.js +236 -0
  233. package/dist/core/type-definitions/display-order.d.ts +154 -0
  234. package/dist/core/type-definitions/display-order.js +154 -0
  235. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
  236. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
  237. package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
  238. package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
  239. package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
  240. package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
  241. package/dist/core/type-definitions/index.d.ts +10 -0
  242. package/dist/core/type-definitions/index.js +26 -0
  243. package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
  244. package/dist/core/type-definitions/knowledge-definitions.js +37 -0
  245. package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
  246. package/dist/core/type-definitions/service-config.definitions.js +135 -0
  247. package/dist/core/validators/channel-validation.d.ts +19 -0
  248. package/dist/core/validators/channel-validation.js +40 -0
  249. package/dist/core/validators/index.d.ts +5 -0
  250. package/dist/core/validators/index.js +21 -0
  251. package/dist/index.d.ts +6 -0
  252. package/dist/index.js +24 -0
  253. package/dist/request/index.d.ts +5 -0
  254. package/dist/request/index.js +21 -0
  255. package/dist/request/models/index.d.ts +6 -0
  256. package/dist/request/models/index.js +22 -0
  257. package/dist/request/models/paginated-quest.schema.d.ts +33 -0
  258. package/dist/request/models/paginated-quest.schema.js +35 -0
  259. package/dist/request/models/paginated-result.schema.d.ts +124 -0
  260. package/dist/request/models/paginated-result.schema.js +94 -0
  261. package/package.json +43 -0
@@ -0,0 +1,621 @@
1
+ import z from "zod";
2
+ import { PropertyType, PropertySubType, ListingType, ListingStatus, PropertyCondition, RentalPeriod } from "../type-definitions";
3
+ /**
4
+ * @fileoverview Property configuration schema definitions for real estate management.
5
+ * @module business-mgt/property-config
6
+ */
7
+ /**
8
+ * Property category schema.
9
+ *
10
+ * @typedef {Object} PropertyCategory
11
+ * @property {string} name - Category name (e.g., Luxury Homes, Commercial Offices)
12
+ * @property {string} [description] - Category description
13
+ * @property {PropertyType} propertyType - Type of property (residential, commercial, land)
14
+ * @property {number} [displayOrder] - Display order in listing
15
+ * @property {boolean} isDefault - Whether this is the default category
16
+ */
17
+ export declare const PropertyCategorySchema: z.ZodObject<{
18
+ id: z.ZodString;
19
+ createdAt: z.ZodOptional<z.ZodNumber>;
20
+ updatedAt: z.ZodOptional<z.ZodNumber>;
21
+ name: z.ZodString;
22
+ description: z.ZodOptional<z.ZodString>;
23
+ propertyType: z.ZodEnum<typeof PropertyType>;
24
+ displayOrder: z.ZodOptional<z.ZodNumber>;
25
+ }, z.core.$strip>;
26
+ /**
27
+ * Property address schema (standalone entity).
28
+ *
29
+ * @typedef {Object} PropertyAddress
30
+ * @property {string} street - Street address
31
+ * @property {string} [unit] - Unit or apartment number
32
+ * @property {string} city - City name
33
+ * @property {string} state - State or province
34
+ * @property {string} [postalCode] - Postal or ZIP code
35
+ * @property {string} country - Country
36
+ * @property {Object} [coordinates] - Geographic coordinates
37
+ * @property {string} [neighborhood] - Neighborhood or district name
38
+ * @property {string} [district] - Administrative district
39
+ * @property {boolean} isVerified - Whether address has been verified
40
+ * @property {number} [verifiedAt] - Timestamp when address was verified
41
+ * @property {string} [primaryUserAccountId] - User account managing the property
42
+ */
43
+ export declare const PropertyAddressSchema: z.ZodObject<{
44
+ id: z.ZodString;
45
+ createdAt: z.ZodOptional<z.ZodNumber>;
46
+ updatedAt: z.ZodOptional<z.ZodNumber>;
47
+ street: z.ZodString;
48
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ city: z.ZodString;
50
+ state: z.ZodString;
51
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ country: z.ZodString;
53
+ coordinates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
54
+ latitude: z.ZodNumber;
55
+ longitude: z.ZodNumber;
56
+ }, z.core.$strip>>>;
57
+ neighborhood: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ district: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ isVerified: z.ZodDefault<z.ZodBoolean>;
60
+ verifiedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
61
+ primaryUserAccountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ }, z.core.$strip>;
63
+ /**
64
+ * Property features schema.
65
+ *
66
+ * @typedef {Object} PropertyFeatures
67
+ * @property {number} [bedrooms] - Number of bedrooms
68
+ * @property {number} [bathrooms] - Number of bathrooms
69
+ * @property {number} [parkingSpaces] - Number of parking spaces
70
+ * @property {number} [squareFootage] - Total square footage
71
+ * @property {number} [lotSize] - Lot size
72
+ * @property {string} lotSizeUnit - Unit for lot size (sqft, acres, sqm, hectares)
73
+ * @property {number} [yearBuilt] - Year the property was built
74
+ * @property {number} [floors] - Number of floors
75
+ * @property {string[]} amenities - List of amenities
76
+ * @property {string[]} utilities - Available utilities
77
+ */
78
+ export declare const PropertyFeaturesSchema: z.ZodObject<{
79
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
80
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
81
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
82
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
83
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
84
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
85
+ sqft: "sqft";
86
+ acres: "acres";
87
+ sqm: "sqm";
88
+ hectares: "hectares";
89
+ }>>;
90
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
91
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
92
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
93
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
94
+ }, z.core.$strip>;
95
+ /**
96
+ * Main property schema for real estate listings.
97
+ *
98
+ * @typedef {Object} Property
99
+ * @property {string} categoryId - ID of the category this property belongs to
100
+ * @property {Object} [category] - Property category (populated)
101
+ * @property {string} title - Property listing title
102
+ * @property {string} [description] - Detailed property description
103
+ * @property {PropertyType} propertyType - Type of property
104
+ * @property {PropertySubType} propertySubType - Subtype of property
105
+ * @property {string} addressId - ID of the property address
106
+ * @property {Object} [address] - Property address (populated)
107
+ * @property {ListingType} listingType - Type of listing (sale, rent, or both)
108
+ * @property {ListingStatus} listingStatus - Current listing status
109
+ * @property {number} [salePrice] - Sale price
110
+ * @property {string} salePriceCurrency - Currency for sale price
111
+ * @property {number} [rentalPrice] - Rental price
112
+ * @property {RentalPeriod} [rentalPeriod] - Rental period
113
+ * @property {string} rentalPriceCurrency - Currency for rental price
114
+ * @property {boolean} priceNegotiable - Whether price is negotiable
115
+ * @property {Object} [features] - Property features
116
+ * @property {PropertyCondition} [condition] - Property condition
117
+ * @property {boolean} furnished - Whether property is furnished
118
+ * @property {string[]} images - Array of image URLs
119
+ * @property {string} [virtualTourUrl] - Virtual tour URL
120
+ * @property {string} [videoUrl] - Video tour URL
121
+ * @property {number} [availableFrom] - Available from date (timestamp)
122
+ * @property {number} [availableTo] - Available until date (timestamp)
123
+ * @property {boolean} isActive - Whether property is active in listings
124
+ * @property {boolean} isFeatured - Whether property is featured
125
+ * @property {boolean} isVerified - Whether property has been verified
126
+ * @property {string} [externalId] - External system reference ID
127
+ * @property {string} [mlsNumber] - MLS listing number
128
+ */
129
+ export declare const PropertySchema: z.ZodObject<{
130
+ id: z.ZodString;
131
+ createdAt: z.ZodOptional<z.ZodNumber>;
132
+ updatedAt: z.ZodOptional<z.ZodNumber>;
133
+ categoryId: z.ZodString;
134
+ category: z.ZodOptional<z.ZodObject<{
135
+ id: z.ZodString;
136
+ createdAt: z.ZodOptional<z.ZodNumber>;
137
+ updatedAt: z.ZodOptional<z.ZodNumber>;
138
+ name: z.ZodString;
139
+ description: z.ZodOptional<z.ZodString>;
140
+ propertyType: z.ZodEnum<typeof PropertyType>;
141
+ displayOrder: z.ZodOptional<z.ZodNumber>;
142
+ }, z.core.$strip>>;
143
+ title: z.ZodString;
144
+ description: z.ZodOptional<z.ZodString>;
145
+ propertyType: z.ZodEnum<typeof PropertyType>;
146
+ propertySubType: z.ZodEnum<typeof PropertySubType>;
147
+ addressId: z.ZodString;
148
+ address: z.ZodOptional<z.ZodNullable<z.ZodObject<{
149
+ id: z.ZodString;
150
+ createdAt: z.ZodOptional<z.ZodNumber>;
151
+ updatedAt: z.ZodOptional<z.ZodNumber>;
152
+ street: z.ZodString;
153
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ city: z.ZodString;
155
+ state: z.ZodString;
156
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ country: z.ZodString;
158
+ coordinates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
159
+ latitude: z.ZodNumber;
160
+ longitude: z.ZodNumber;
161
+ }, z.core.$strip>>>;
162
+ neighborhood: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ district: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ isVerified: z.ZodDefault<z.ZodBoolean>;
165
+ verifiedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
166
+ primaryUserAccountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
167
+ }, z.core.$strip>>>;
168
+ listingType: z.ZodEnum<typeof ListingType>;
169
+ listingStatus: z.ZodDefault<z.ZodEnum<typeof ListingStatus>>;
170
+ salePrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
171
+ salePriceCurrency: z.ZodDefault<z.ZodString>;
172
+ rentalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
173
+ rentalPeriod: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof RentalPeriod>>>;
174
+ rentalPriceCurrency: z.ZodDefault<z.ZodString>;
175
+ priceNegotiable: z.ZodDefault<z.ZodBoolean>;
176
+ features: z.ZodOptional<z.ZodObject<{
177
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
178
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
179
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
180
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
181
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
182
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
183
+ sqft: "sqft";
184
+ acres: "acres";
185
+ sqm: "sqm";
186
+ hectares: "hectares";
187
+ }>>;
188
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
189
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
190
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
191
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
192
+ }, z.core.$strip>>;
193
+ condition: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof PropertyCondition>>>;
194
+ furnished: z.ZodDefault<z.ZodBoolean>;
195
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
196
+ virtualTourUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
197
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
198
+ availableFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
199
+ availableTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
200
+ isActive: z.ZodDefault<z.ZodBoolean>;
201
+ isFeatured: z.ZodDefault<z.ZodBoolean>;
202
+ isVerified: z.ZodDefault<z.ZodBoolean>;
203
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
204
+ mlsNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
205
+ }, z.core.$strip>;
206
+ /**
207
+ * Schema for creating a new property category.
208
+ * Omits auto-generated fields.
209
+ */
210
+ export declare const CreatePropertyCategorySchema: z.ZodObject<{
211
+ name: z.ZodString;
212
+ description: z.ZodOptional<z.ZodString>;
213
+ displayOrder: z.ZodOptional<z.ZodNumber>;
214
+ propertyType: z.ZodEnum<typeof PropertyType>;
215
+ }, z.core.$strip>;
216
+ /**
217
+ * Schema for updating an existing property category.
218
+ * All fields are optional except id.
219
+ */
220
+ export declare const UpdatePropertyCategorySchema: z.ZodObject<{
221
+ name: z.ZodOptional<z.ZodString>;
222
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
223
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
224
+ propertyType: z.ZodOptional<z.ZodEnum<typeof PropertyType>>;
225
+ id: z.ZodString;
226
+ }, z.core.$strip>;
227
+ /**
228
+ * Schema for creating a new property address.
229
+ * Omits auto-generated fields.
230
+ */
231
+ export declare const CreatePropertyAddressSchema: z.ZodObject<{
232
+ street: z.ZodString;
233
+ city: z.ZodString;
234
+ state: z.ZodString;
235
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ country: z.ZodString;
237
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ coordinates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
239
+ latitude: z.ZodNumber;
240
+ longitude: z.ZodNumber;
241
+ }, z.core.$strip>>>;
242
+ neighborhood: z.ZodOptional<z.ZodNullable<z.ZodString>>;
243
+ district: z.ZodOptional<z.ZodNullable<z.ZodString>>;
244
+ isVerified: z.ZodDefault<z.ZodBoolean>;
245
+ primaryUserAccountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
246
+ }, z.core.$strip>;
247
+ /**
248
+ * Schema for updating an existing property address.
249
+ * All fields are optional except id.
250
+ */
251
+ export declare const UpdatePropertyAddressSchema: z.ZodObject<{
252
+ street: z.ZodOptional<z.ZodString>;
253
+ city: z.ZodOptional<z.ZodString>;
254
+ state: z.ZodOptional<z.ZodString>;
255
+ postalCode: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
256
+ country: z.ZodOptional<z.ZodString>;
257
+ unit: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
258
+ coordinates: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
259
+ latitude: z.ZodNumber;
260
+ longitude: z.ZodNumber;
261
+ }, z.core.$strip>>>>;
262
+ neighborhood: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
263
+ district: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
264
+ isVerified: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
265
+ primaryUserAccountId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
266
+ id: z.ZodString;
267
+ }, z.core.$strip>;
268
+ /**
269
+ * Schema for creating a new property listing.
270
+ * Omits auto-generated fields and populated objects.
271
+ */
272
+ export declare const CreatePropertySchema: z.ZodObject<{
273
+ description: z.ZodOptional<z.ZodString>;
274
+ isActive: z.ZodDefault<z.ZodBoolean>;
275
+ title: z.ZodString;
276
+ condition: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof PropertyCondition>>>;
277
+ categoryId: z.ZodString;
278
+ propertyType: z.ZodEnum<typeof PropertyType>;
279
+ isVerified: z.ZodDefault<z.ZodBoolean>;
280
+ propertySubType: z.ZodEnum<typeof PropertySubType>;
281
+ addressId: z.ZodString;
282
+ listingType: z.ZodEnum<typeof ListingType>;
283
+ listingStatus: z.ZodDefault<z.ZodEnum<typeof ListingStatus>>;
284
+ salePrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
285
+ salePriceCurrency: z.ZodDefault<z.ZodString>;
286
+ rentalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
287
+ rentalPeriod: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof RentalPeriod>>>;
288
+ rentalPriceCurrency: z.ZodDefault<z.ZodString>;
289
+ priceNegotiable: z.ZodDefault<z.ZodBoolean>;
290
+ features: z.ZodOptional<z.ZodObject<{
291
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
292
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
293
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
294
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
295
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
296
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
297
+ sqft: "sqft";
298
+ acres: "acres";
299
+ sqm: "sqm";
300
+ hectares: "hectares";
301
+ }>>;
302
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
303
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
304
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
305
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
306
+ }, z.core.$strip>>;
307
+ furnished: z.ZodDefault<z.ZodBoolean>;
308
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
309
+ virtualTourUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
310
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
311
+ availableFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
312
+ availableTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
313
+ isFeatured: z.ZodDefault<z.ZodBoolean>;
314
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
315
+ mlsNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
316
+ }, z.core.$strip>;
317
+ /**
318
+ * Schema for updating an existing property listing.
319
+ * All fields are optional except id.
320
+ */
321
+ export declare const UpdatePropertySchema: z.ZodObject<{
322
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
323
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
324
+ title: z.ZodOptional<z.ZodString>;
325
+ condition: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof PropertyCondition>>>>;
326
+ categoryId: z.ZodOptional<z.ZodString>;
327
+ propertyType: z.ZodOptional<z.ZodEnum<typeof PropertyType>>;
328
+ isVerified: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
329
+ propertySubType: z.ZodOptional<z.ZodEnum<typeof PropertySubType>>;
330
+ addressId: z.ZodOptional<z.ZodString>;
331
+ listingType: z.ZodOptional<z.ZodEnum<typeof ListingType>>;
332
+ listingStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<typeof ListingStatus>>>;
333
+ salePrice: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
334
+ salePriceCurrency: z.ZodOptional<z.ZodDefault<z.ZodString>>;
335
+ rentalPrice: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
336
+ rentalPeriod: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof RentalPeriod>>>>;
337
+ rentalPriceCurrency: z.ZodOptional<z.ZodDefault<z.ZodString>>;
338
+ priceNegotiable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
339
+ features: z.ZodOptional<z.ZodOptional<z.ZodObject<{
340
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
341
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
342
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
343
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
344
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
345
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
346
+ sqft: "sqft";
347
+ acres: "acres";
348
+ sqm: "sqm";
349
+ hectares: "hectares";
350
+ }>>;
351
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
352
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
353
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
354
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
355
+ }, z.core.$strip>>>;
356
+ furnished: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
357
+ images: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
358
+ virtualTourUrl: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodURL>>>;
359
+ videoUrl: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodURL>>>;
360
+ availableFrom: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
361
+ availableTo: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
362
+ isFeatured: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
363
+ externalId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
364
+ mlsNumber: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
365
+ id: z.ZodString;
366
+ }, z.core.$strip>;
367
+ export type PropertyCategory = z.infer<typeof PropertyCategorySchema>;
368
+ export type CreatePropertyCategory = z.infer<typeof CreatePropertyCategorySchema>;
369
+ export type UpdatePropertyCategory = z.infer<typeof UpdatePropertyCategorySchema>;
370
+ export type PropertyAddress = z.infer<typeof PropertyAddressSchema>;
371
+ export type CreatePropertyAddress = z.infer<typeof CreatePropertyAddressSchema>;
372
+ export type UpdatePropertyAddress = z.infer<typeof UpdatePropertyAddressSchema>;
373
+ export type PropertyFeatures = z.infer<typeof PropertyFeaturesSchema>;
374
+ export type Property = z.infer<typeof PropertySchema>;
375
+ export type CreateProperty = z.infer<typeof CreatePropertySchema>;
376
+ export type UpdateProperty = z.infer<typeof UpdatePropertySchema>;
377
+ export declare const PropertyCatalogSchema: z.ZodObject<{
378
+ propertyCategory: z.ZodObject<{
379
+ id: z.ZodString;
380
+ createdAt: z.ZodOptional<z.ZodNumber>;
381
+ updatedAt: z.ZodOptional<z.ZodNumber>;
382
+ name: z.ZodString;
383
+ description: z.ZodOptional<z.ZodString>;
384
+ propertyType: z.ZodEnum<typeof PropertyType>;
385
+ displayOrder: z.ZodOptional<z.ZodNumber>;
386
+ }, z.core.$strip>;
387
+ items: z.ZodArray<z.ZodObject<{
388
+ id: z.ZodString;
389
+ createdAt: z.ZodOptional<z.ZodNumber>;
390
+ updatedAt: z.ZodOptional<z.ZodNumber>;
391
+ categoryId: z.ZodString;
392
+ category: z.ZodOptional<z.ZodObject<{
393
+ id: z.ZodString;
394
+ createdAt: z.ZodOptional<z.ZodNumber>;
395
+ updatedAt: z.ZodOptional<z.ZodNumber>;
396
+ name: z.ZodString;
397
+ description: z.ZodOptional<z.ZodString>;
398
+ propertyType: z.ZodEnum<typeof PropertyType>;
399
+ displayOrder: z.ZodOptional<z.ZodNumber>;
400
+ }, z.core.$strip>>;
401
+ title: z.ZodString;
402
+ description: z.ZodOptional<z.ZodString>;
403
+ propertyType: z.ZodEnum<typeof PropertyType>;
404
+ propertySubType: z.ZodEnum<typeof PropertySubType>;
405
+ addressId: z.ZodString;
406
+ address: z.ZodOptional<z.ZodNullable<z.ZodObject<{
407
+ id: z.ZodString;
408
+ createdAt: z.ZodOptional<z.ZodNumber>;
409
+ updatedAt: z.ZodOptional<z.ZodNumber>;
410
+ street: z.ZodString;
411
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
412
+ city: z.ZodString;
413
+ state: z.ZodString;
414
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
415
+ country: z.ZodString;
416
+ coordinates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
417
+ latitude: z.ZodNumber;
418
+ longitude: z.ZodNumber;
419
+ }, z.core.$strip>>>;
420
+ neighborhood: z.ZodOptional<z.ZodNullable<z.ZodString>>;
421
+ district: z.ZodOptional<z.ZodNullable<z.ZodString>>;
422
+ isVerified: z.ZodDefault<z.ZodBoolean>;
423
+ verifiedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
424
+ primaryUserAccountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
425
+ }, z.core.$strip>>>;
426
+ listingType: z.ZodEnum<typeof ListingType>;
427
+ listingStatus: z.ZodDefault<z.ZodEnum<typeof ListingStatus>>;
428
+ salePrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
429
+ salePriceCurrency: z.ZodDefault<z.ZodString>;
430
+ rentalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
431
+ rentalPeriod: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof RentalPeriod>>>;
432
+ rentalPriceCurrency: z.ZodDefault<z.ZodString>;
433
+ priceNegotiable: z.ZodDefault<z.ZodBoolean>;
434
+ features: z.ZodOptional<z.ZodObject<{
435
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
436
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
437
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
438
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
439
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
440
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
441
+ sqft: "sqft";
442
+ acres: "acres";
443
+ sqm: "sqm";
444
+ hectares: "hectares";
445
+ }>>;
446
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
447
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
448
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
449
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
450
+ }, z.core.$strip>>;
451
+ condition: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof PropertyCondition>>>;
452
+ furnished: z.ZodDefault<z.ZodBoolean>;
453
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
454
+ virtualTourUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
455
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
456
+ availableFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
457
+ availableTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
458
+ isActive: z.ZodDefault<z.ZodBoolean>;
459
+ isFeatured: z.ZodDefault<z.ZodBoolean>;
460
+ isVerified: z.ZodDefault<z.ZodBoolean>;
461
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
462
+ mlsNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
463
+ }, z.core.$strip>>;
464
+ }, z.core.$strip>;
465
+ export declare const BusinessPropertyCatalogSchema: z.ZodArray<z.ZodObject<{
466
+ propertyCategory: z.ZodObject<{
467
+ id: z.ZodString;
468
+ createdAt: z.ZodOptional<z.ZodNumber>;
469
+ updatedAt: z.ZodOptional<z.ZodNumber>;
470
+ name: z.ZodString;
471
+ description: z.ZodOptional<z.ZodString>;
472
+ propertyType: z.ZodEnum<typeof PropertyType>;
473
+ displayOrder: z.ZodOptional<z.ZodNumber>;
474
+ }, z.core.$strip>;
475
+ items: z.ZodArray<z.ZodObject<{
476
+ id: z.ZodString;
477
+ createdAt: z.ZodOptional<z.ZodNumber>;
478
+ updatedAt: z.ZodOptional<z.ZodNumber>;
479
+ categoryId: z.ZodString;
480
+ category: z.ZodOptional<z.ZodObject<{
481
+ id: z.ZodString;
482
+ createdAt: z.ZodOptional<z.ZodNumber>;
483
+ updatedAt: z.ZodOptional<z.ZodNumber>;
484
+ name: z.ZodString;
485
+ description: z.ZodOptional<z.ZodString>;
486
+ propertyType: z.ZodEnum<typeof PropertyType>;
487
+ displayOrder: z.ZodOptional<z.ZodNumber>;
488
+ }, z.core.$strip>>;
489
+ title: z.ZodString;
490
+ description: z.ZodOptional<z.ZodString>;
491
+ propertyType: z.ZodEnum<typeof PropertyType>;
492
+ propertySubType: z.ZodEnum<typeof PropertySubType>;
493
+ addressId: z.ZodString;
494
+ address: z.ZodOptional<z.ZodNullable<z.ZodObject<{
495
+ id: z.ZodString;
496
+ createdAt: z.ZodOptional<z.ZodNumber>;
497
+ updatedAt: z.ZodOptional<z.ZodNumber>;
498
+ street: z.ZodString;
499
+ unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
500
+ city: z.ZodString;
501
+ state: z.ZodString;
502
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
503
+ country: z.ZodString;
504
+ coordinates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
505
+ latitude: z.ZodNumber;
506
+ longitude: z.ZodNumber;
507
+ }, z.core.$strip>>>;
508
+ neighborhood: z.ZodOptional<z.ZodNullable<z.ZodString>>;
509
+ district: z.ZodOptional<z.ZodNullable<z.ZodString>>;
510
+ isVerified: z.ZodDefault<z.ZodBoolean>;
511
+ verifiedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
512
+ primaryUserAccountId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
513
+ }, z.core.$strip>>>;
514
+ listingType: z.ZodEnum<typeof ListingType>;
515
+ listingStatus: z.ZodDefault<z.ZodEnum<typeof ListingStatus>>;
516
+ salePrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
517
+ salePriceCurrency: z.ZodDefault<z.ZodString>;
518
+ rentalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
519
+ rentalPeriod: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof RentalPeriod>>>;
520
+ rentalPriceCurrency: z.ZodDefault<z.ZodString>;
521
+ priceNegotiable: z.ZodDefault<z.ZodBoolean>;
522
+ features: z.ZodOptional<z.ZodObject<{
523
+ bedrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
524
+ bathrooms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
525
+ parkingSpaces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
526
+ squareFootage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
527
+ lotSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
528
+ lotSizeUnit: z.ZodDefault<z.ZodEnum<{
529
+ sqft: "sqft";
530
+ acres: "acres";
531
+ sqm: "sqm";
532
+ hectares: "hectares";
533
+ }>>;
534
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
535
+ floors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
536
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
537
+ utilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
538
+ }, z.core.$strip>>;
539
+ condition: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof PropertyCondition>>>;
540
+ furnished: z.ZodDefault<z.ZodBoolean>;
541
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
542
+ virtualTourUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
543
+ videoUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
544
+ availableFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
545
+ availableTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
546
+ isActive: z.ZodDefault<z.ZodBoolean>;
547
+ isFeatured: z.ZodDefault<z.ZodBoolean>;
548
+ isVerified: z.ZodDefault<z.ZodBoolean>;
549
+ externalId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
550
+ mlsNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
551
+ }, z.core.$strip>>;
552
+ }, z.core.$strip>>;
553
+ export type PropertyCatalog = z.infer<typeof PropertyCatalogSchema>;
554
+ export type BusinessPropertyCatalog = z.infer<typeof BusinessPropertyCatalogSchema>;
555
+ export interface PropertyFilters {
556
+ search?: string;
557
+ categoryId?: string;
558
+ addressIds?: string[];
559
+ address?: PropertyAddressFilters;
560
+ propertyType?: PropertyType;
561
+ propertySubType?: PropertySubType;
562
+ listingType?: ListingType;
563
+ listingStatus?: ListingStatus[];
564
+ isActive?: boolean;
565
+ isFeatured?: boolean;
566
+ isVerified?: boolean;
567
+ condition?: PropertyCondition;
568
+ furnished?: boolean;
569
+ priceRange?: {
570
+ min?: number;
571
+ max?: number;
572
+ };
573
+ bedroomsRange?: {
574
+ min?: number;
575
+ max?: number;
576
+ };
577
+ bathroomsRange?: {
578
+ min?: number;
579
+ max?: number;
580
+ };
581
+ squareFootageRange?: {
582
+ min?: number;
583
+ max?: number;
584
+ };
585
+ includeDeleted?: boolean;
586
+ }
587
+ export interface PropertySorting {
588
+ field: 'title' | 'salePrice' | 'rentalPrice' | 'createdAt' | 'displayOrder' | 'squareFootage';
589
+ direction: 'asc' | 'desc';
590
+ }
591
+ export interface PropertyQueryOptions {
592
+ page: number;
593
+ pageSize: number;
594
+ filters?: PropertyFilters;
595
+ sorting?: PropertySorting;
596
+ }
597
+ export interface PropertyAddressFilters {
598
+ search?: string;
599
+ city?: string;
600
+ state?: string;
601
+ country?: string;
602
+ neighborhood?: string;
603
+ district?: string;
604
+ geolocation?: {
605
+ latitude: number;
606
+ longitude: number;
607
+ radiusKm: number;
608
+ };
609
+ isVerified?: boolean;
610
+ includeDeleted?: boolean;
611
+ }
612
+ export interface PropertyAddressSorting {
613
+ field: 'street' | 'city' | 'state' | 'country' | 'createdAt';
614
+ direction: 'asc' | 'desc';
615
+ }
616
+ export interface PropertyAddressQueryOptions {
617
+ page: number;
618
+ pageSize: number;
619
+ filters?: PropertyAddressFilters;
620
+ sorting?: PropertyAddressSorting;
621
+ }