@propertysimple/client 0.1.0

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 (54) hide show
  1. package/API.md +79 -0
  2. package/README.md +348 -0
  3. package/client/src/directory-sync.d.ts +123 -0
  4. package/client/src/directory-sync.js +404 -0
  5. package/client/src/index.d.ts +5123 -0
  6. package/client/src/index.js +285 -0
  7. package/client/src/managed-sync.d.ts +129 -0
  8. package/client/src/managed-sync.js +410 -0
  9. package/contracts/src/catalog-derived.d.ts +7 -0
  10. package/contracts/src/catalog-derived.js +78 -0
  11. package/contracts/src/catalog-fields.d.ts +231 -0
  12. package/contracts/src/catalog-fields.js +194 -0
  13. package/contracts/src/catalog-inventory.d.ts +14 -0
  14. package/contracts/src/catalog-inventory.js +10 -0
  15. package/contracts/src/directory-execution.d.ts +320 -0
  16. package/contracts/src/directory-execution.js +122 -0
  17. package/contracts/src/directory-identity.d.ts +1255 -0
  18. package/contracts/src/directory-identity.js +129 -0
  19. package/contracts/src/directory-sales.d.ts +333 -0
  20. package/contracts/src/directory-sales.js +102 -0
  21. package/contracts/src/directory.d.ts +1088 -0
  22. package/contracts/src/directory.js +179 -0
  23. package/contracts/src/index.d.ts +18 -0
  24. package/contracts/src/index.js +18 -0
  25. package/contracts/src/intelligence.d.ts +366 -0
  26. package/contracts/src/intelligence.js +157 -0
  27. package/contracts/src/location-serving.d.ts +13 -0
  28. package/contracts/src/location-serving.js +89 -0
  29. package/contracts/src/location.d.ts +73 -0
  30. package/contracts/src/location.js +75 -0
  31. package/contracts/src/openapi.d.ts +22 -0
  32. package/contracts/src/openapi.js +109 -0
  33. package/contracts/src/operations.d.ts +8316 -0
  34. package/contracts/src/operations.js +56 -0
  35. package/contracts/src/opportunity-events.d.ts +38 -0
  36. package/contracts/src/opportunity-events.js +69 -0
  37. package/contracts/src/platform-api.d.ts +12 -0
  38. package/contracts/src/platform-api.js +1 -0
  39. package/contracts/src/professional-intelligence.d.ts +256 -0
  40. package/contracts/src/professional-intelligence.js +90 -0
  41. package/contracts/src/property-features.d.ts +94 -0
  42. package/contracts/src/property-features.js +398 -0
  43. package/contracts/src/publication.d.ts +44 -0
  44. package/contracts/src/publication.js +42 -0
  45. package/contracts/src/routes.d.ts +437 -0
  46. package/contracts/src/routes.js +496 -0
  47. package/contracts/src/schemas.d.ts +3198 -0
  48. package/contracts/src/schemas.js +674 -0
  49. package/contracts/src/search.d.ts +2630 -0
  50. package/contracts/src/search.js +223 -0
  51. package/contracts/src/smart-feed.d.ts +3731 -0
  52. package/contracts/src/smart-feed.js +109 -0
  53. package/openapi.json +43542 -0
  54. package/package.json +60 -0
@@ -0,0 +1,2630 @@
1
+ import { z } from 'zod';
2
+ export declare const SearchFeaturePredicate: z.ZodObject<{
3
+ feature: z.ZodString;
4
+ operator: z.ZodDefault<z.ZodEnum<{
5
+ in: "in";
6
+ eq: "eq";
7
+ neq: "neq";
8
+ not_in: "not_in";
9
+ gt: "gt";
10
+ gte: "gte";
11
+ lt: "lt";
12
+ lte: "lte";
13
+ }>>;
14
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
15
+ }, z.core.$strict>;
16
+ export type FeaturePredicate = z.infer<typeof SearchFeaturePredicate>;
17
+ export declare const SearchBounds: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
18
+ export declare const SearchFilters: z.ZodObject<{
19
+ transaction_type: z.ZodOptional<z.ZodEnum<{
20
+ for_sale: "for_sale";
21
+ for_rent: "for_rent";
22
+ }>>;
23
+ currency: z.ZodOptional<z.ZodString>;
24
+ price_period: z.ZodOptional<z.ZodString>;
25
+ price: z.ZodOptional<z.ZodObject<{
26
+ min: z.ZodOptional<z.ZodString>;
27
+ max: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strict>>;
29
+ bedrooms: z.ZodOptional<z.ZodObject<{
30
+ min: z.ZodOptional<z.ZodNumber>;
31
+ max: z.ZodOptional<z.ZodNumber>;
32
+ }, z.core.$strict>>;
33
+ bathrooms: z.ZodOptional<z.ZodObject<{
34
+ min: z.ZodOptional<z.ZodNumber>;
35
+ max: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strict>>;
37
+ living_area: z.ZodOptional<z.ZodObject<{
38
+ min: z.ZodOptional<z.ZodNumber>;
39
+ max: z.ZodOptional<z.ZodNumber>;
40
+ }, z.core.$strict>>;
41
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
42
+ sqft: "sqft";
43
+ sqm: "sqm";
44
+ }>>;
45
+ city: z.ZodOptional<z.ZodString>;
46
+ region: z.ZodOptional<z.ZodString>;
47
+ postal_code: z.ZodOptional<z.ZodString>;
48
+ property_type: z.ZodOptional<z.ZodString>;
49
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
50
+ feature: z.ZodString;
51
+ operator: z.ZodDefault<z.ZodEnum<{
52
+ in: "in";
53
+ eq: "eq";
54
+ neq: "neq";
55
+ not_in: "not_in";
56
+ gt: "gt";
57
+ gte: "gte";
58
+ lt: "lt";
59
+ lte: "lte";
60
+ }>>;
61
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
62
+ }, z.core.$strict>>>;
63
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
64
+ feature: z.ZodString;
65
+ operator: z.ZodDefault<z.ZodEnum<{
66
+ in: "in";
67
+ eq: "eq";
68
+ neq: "neq";
69
+ not_in: "not_in";
70
+ gt: "gt";
71
+ gte: "gte";
72
+ lt: "lt";
73
+ lte: "lte";
74
+ }>>;
75
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
76
+ }, z.core.$strict>>>;
77
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
78
+ feature: z.ZodString;
79
+ operator: z.ZodDefault<z.ZodEnum<{
80
+ in: "in";
81
+ eq: "eq";
82
+ neq: "neq";
83
+ not_in: "not_in";
84
+ gt: "gt";
85
+ gte: "gte";
86
+ lt: "lt";
87
+ lte: "lte";
88
+ }>>;
89
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
90
+ }, z.core.$strict>>>;
91
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
92
+ feature: z.ZodString;
93
+ operator: z.ZodDefault<z.ZodEnum<{
94
+ in: "in";
95
+ eq: "eq";
96
+ neq: "neq";
97
+ not_in: "not_in";
98
+ gt: "gt";
99
+ gte: "gte";
100
+ lt: "lt";
101
+ lte: "lte";
102
+ }>>;
103
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
104
+ }, z.core.$strict>>>;
105
+ }, z.core.$strict>;
106
+ export declare const SearchRequest: z.ZodObject<{
107
+ dataset_id: z.ZodOptional<z.ZodString>;
108
+ q: z.ZodDefault<z.ZodString>;
109
+ filters: z.ZodPrefault<z.ZodObject<{
110
+ transaction_type: z.ZodOptional<z.ZodEnum<{
111
+ for_sale: "for_sale";
112
+ for_rent: "for_rent";
113
+ }>>;
114
+ currency: z.ZodOptional<z.ZodString>;
115
+ price_period: z.ZodOptional<z.ZodString>;
116
+ price: z.ZodOptional<z.ZodObject<{
117
+ min: z.ZodOptional<z.ZodString>;
118
+ max: z.ZodOptional<z.ZodString>;
119
+ }, z.core.$strict>>;
120
+ bedrooms: z.ZodOptional<z.ZodObject<{
121
+ min: z.ZodOptional<z.ZodNumber>;
122
+ max: z.ZodOptional<z.ZodNumber>;
123
+ }, z.core.$strict>>;
124
+ bathrooms: z.ZodOptional<z.ZodObject<{
125
+ min: z.ZodOptional<z.ZodNumber>;
126
+ max: z.ZodOptional<z.ZodNumber>;
127
+ }, z.core.$strict>>;
128
+ living_area: z.ZodOptional<z.ZodObject<{
129
+ min: z.ZodOptional<z.ZodNumber>;
130
+ max: z.ZodOptional<z.ZodNumber>;
131
+ }, z.core.$strict>>;
132
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
133
+ sqft: "sqft";
134
+ sqm: "sqm";
135
+ }>>;
136
+ city: z.ZodOptional<z.ZodString>;
137
+ region: z.ZodOptional<z.ZodString>;
138
+ postal_code: z.ZodOptional<z.ZodString>;
139
+ property_type: z.ZodOptional<z.ZodString>;
140
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
141
+ feature: z.ZodString;
142
+ operator: z.ZodDefault<z.ZodEnum<{
143
+ in: "in";
144
+ eq: "eq";
145
+ neq: "neq";
146
+ not_in: "not_in";
147
+ gt: "gt";
148
+ gte: "gte";
149
+ lt: "lt";
150
+ lte: "lte";
151
+ }>>;
152
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
153
+ }, z.core.$strict>>>;
154
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
155
+ feature: z.ZodString;
156
+ operator: z.ZodDefault<z.ZodEnum<{
157
+ in: "in";
158
+ eq: "eq";
159
+ neq: "neq";
160
+ not_in: "not_in";
161
+ gt: "gt";
162
+ gte: "gte";
163
+ lt: "lt";
164
+ lte: "lte";
165
+ }>>;
166
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
167
+ }, z.core.$strict>>>;
168
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
169
+ feature: z.ZodString;
170
+ operator: z.ZodDefault<z.ZodEnum<{
171
+ in: "in";
172
+ eq: "eq";
173
+ neq: "neq";
174
+ not_in: "not_in";
175
+ gt: "gt";
176
+ gte: "gte";
177
+ lt: "lt";
178
+ lte: "lte";
179
+ }>>;
180
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
181
+ }, z.core.$strict>>>;
182
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
183
+ feature: z.ZodString;
184
+ operator: z.ZodDefault<z.ZodEnum<{
185
+ in: "in";
186
+ eq: "eq";
187
+ neq: "neq";
188
+ not_in: "not_in";
189
+ gt: "gt";
190
+ gte: "gte";
191
+ lt: "lt";
192
+ lte: "lte";
193
+ }>>;
194
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
195
+ }, z.core.$strict>>>;
196
+ }, z.core.$strict>>;
197
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
198
+ radius: z.ZodOptional<z.ZodObject<{
199
+ latitude: z.ZodNumber;
200
+ longitude: z.ZodNumber;
201
+ km: z.ZodNumber;
202
+ }, z.core.$strict>>;
203
+ sort: z.ZodDefault<z.ZodEnum<{
204
+ relevance: "relevance";
205
+ price_asc: "price_asc";
206
+ price_desc: "price_desc";
207
+ newest: "newest";
208
+ }>>;
209
+ limit: z.ZodDefault<z.ZodNumber>;
210
+ cursor: z.ZodOptional<z.ZodString>;
211
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
212
+ facet_limit: z.ZodOptional<z.ZodNumber>;
213
+ }, z.core.$strict>;
214
+ export type SearchInput = z.infer<typeof SearchRequest>;
215
+ export declare const SearchMeta: z.ZodObject<{
216
+ backend: z.ZodEnum<{
217
+ typesense: "typesense";
218
+ postgres: "postgres";
219
+ }>;
220
+ consistency: z.ZodEnum<{
221
+ degraded: "degraded";
222
+ current_index: "current_index";
223
+ completed_snapshot: "completed_snapshot";
224
+ }>;
225
+ generation: z.ZodString;
226
+ checkpoint: z.ZodString;
227
+ query_hash: z.ZodString;
228
+ checked_at: z.ZodISODateTime;
229
+ inventory: z.ZodOptional<z.ZodObject<{
230
+ state: z.ZodEnum<{
231
+ partial: "partial";
232
+ complete: "complete";
233
+ }>;
234
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
235
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
236
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
237
+ valid_until: z.ZodISODateTime;
238
+ }, z.core.$strict>>;
239
+ snapshot: z.ZodOptional<z.ZodObject<{
240
+ published_through_at: z.ZodISODateTime;
241
+ max_lag_seconds: z.ZodNumber;
242
+ updates_pending: z.ZodBoolean;
243
+ excluded_count: z.ZodNumber;
244
+ }, z.core.$strict>>;
245
+ total: z.ZodNullable<z.ZodNumber>;
246
+ total_relation: z.ZodEnum<{
247
+ unavailable: "unavailable";
248
+ exact: "exact";
249
+ }>;
250
+ search_time_ms: z.ZodNumber;
251
+ timings: z.ZodOptional<z.ZodObject<{
252
+ authorization_ms: z.ZodNumber;
253
+ provider_ms: z.ZodNumber;
254
+ hydration_ms: z.ZodNumber;
255
+ total_ms: z.ZodNumber;
256
+ }, z.core.$strict>>;
257
+ warnings: z.ZodArray<z.ZodString>;
258
+ }, z.core.$strict>;
259
+ export declare const SearchMatch: z.ZodObject<{
260
+ feature: z.ZodString;
261
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
262
+ origin: z.ZodEnum<{
263
+ source_structured: "source_structured";
264
+ source_text_interpreted: "source_text_interpreted";
265
+ }>;
266
+ evidence_refs: z.ZodArray<z.ZodString>;
267
+ }, z.core.$strict>;
268
+ export declare const SearchResponse: z.ZodObject<{
269
+ facets: z.ZodOptional<z.ZodArray<z.ZodObject<{
270
+ field: z.ZodString;
271
+ values: z.ZodArray<z.ZodObject<{
272
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
273
+ count: z.ZodNumber;
274
+ }, z.core.$strict>>;
275
+ assessed: z.ZodNullable<z.ZodNumber>;
276
+ conflicting: z.ZodNullable<z.ZodNumber>;
277
+ not_assessed: z.ZodNullable<z.ZodNumber>;
278
+ unknown: z.ZodNullable<z.ZodNumber>;
279
+ truncated: z.ZodBoolean;
280
+ }, z.core.$strict>>>;
281
+ data: z.ZodArray<z.ZodObject<{
282
+ listing: z.ZodLazy<z.ZodObject<{
283
+ id: z.ZodString;
284
+ episode_id: z.ZodString;
285
+ revision: z.ZodString;
286
+ property_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
287
+ source_identities: z.ZodArray<z.ZodObject<{
288
+ source: z.ZodString;
289
+ key: z.ZodString;
290
+ }, z.core.$strict>>;
291
+ market_status: z.ZodEnum<{
292
+ pending: "pending";
293
+ unknown: "unknown";
294
+ expired: "expired";
295
+ active: "active";
296
+ active_under_contract: "active_under_contract";
297
+ sold: "sold";
298
+ withdrawn: "withdrawn";
299
+ }>;
300
+ source_availability: z.ZodEnum<{
301
+ present: "present";
302
+ removed_unknown: "removed_unknown";
303
+ }>;
304
+ display_eligibility: z.ZodBoolean;
305
+ price: z.ZodNullable<z.ZodObject<{
306
+ amount: z.ZodString;
307
+ currency: z.ZodString;
308
+ period: z.ZodNullable<z.ZodString>;
309
+ }, z.core.$strict>>;
310
+ transaction_type: z.ZodOptional<z.ZodEnum<{
311
+ unknown: "unknown";
312
+ conflicting: "conflicting";
313
+ for_sale: "for_sale";
314
+ for_rent: "for_rent";
315
+ }>>;
316
+ price_period_state: z.ZodOptional<z.ZodEnum<{
317
+ unknown: "unknown";
318
+ supported: "supported";
319
+ not_stated: "not_stated";
320
+ conflicting: "conflicting";
321
+ }>>;
322
+ address: z.ZodObject<{
323
+ street: z.ZodNullable<z.ZodString>;
324
+ unit: z.ZodNullable<z.ZodString>;
325
+ city: z.ZodNullable<z.ZodString>;
326
+ region: z.ZodNullable<z.ZodString>;
327
+ postal_code: z.ZodNullable<z.ZodString>;
328
+ country: z.ZodNullable<z.ZodString>;
329
+ }, z.core.$strict>;
330
+ listing_agent_ids: z.ZodArray<z.ZodString>;
331
+ description: z.ZodNullable<z.ZodString>;
332
+ photos: z.ZodArray<z.ZodString>;
333
+ photo_count: z.ZodOptional<z.ZodNumber>;
334
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
335
+ url: z.ZodURL;
336
+ order: z.ZodNumber;
337
+ caption: z.ZodNullable<z.ZodString>;
338
+ width: z.ZodNullable<z.ZodNumber>;
339
+ height: z.ZodNullable<z.ZodNumber>;
340
+ modified_at: z.ZodNullable<z.ZodISODateTime>;
341
+ delivery: z.ZodEnum<{
342
+ source_url: "source_url";
343
+ hosted: "hosted";
344
+ }>;
345
+ renditions: z.ZodOptional<z.ZodObject<{
346
+ thumbnail: z.ZodObject<{
347
+ url: z.ZodURL;
348
+ max_width: z.ZodNumber;
349
+ max_height: z.ZodNumber;
350
+ }, z.core.$strict>;
351
+ map: z.ZodObject<{
352
+ url: z.ZodURL;
353
+ max_width: z.ZodNumber;
354
+ max_height: z.ZodNumber;
355
+ }, z.core.$strict>;
356
+ card: z.ZodObject<{
357
+ url: z.ZodURL;
358
+ max_width: z.ZodNumber;
359
+ max_height: z.ZodNumber;
360
+ }, z.core.$strict>;
361
+ gallery: z.ZodObject<{
362
+ url: z.ZodURL;
363
+ max_width: z.ZodNumber;
364
+ max_height: z.ZodNumber;
365
+ }, z.core.$strict>;
366
+ }, z.core.$strict>>;
367
+ }, z.core.$strict>>>;
368
+ attribution: z.ZodOptional<z.ZodObject<{
369
+ agent_name: z.ZodNullable<z.ZodString>;
370
+ agent_license: z.ZodOptional<z.ZodNullable<z.ZodString>>;
371
+ office_name: z.ZodNullable<z.ZodString>;
372
+ office_key: z.ZodNullable<z.ZodString>;
373
+ office_phone: z.ZodNullable<z.ZodString>;
374
+ office_website: z.ZodNullable<z.ZodURL>;
375
+ broker_name: z.ZodNullable<z.ZodString>;
376
+ broker_phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
377
+ originating_system: z.ZodNullable<z.ZodString>;
378
+ }, z.core.$strict>>;
379
+ property_details: z.ZodOptional<z.ZodObject<{
380
+ category: z.ZodNullable<z.ZodString>;
381
+ sub_type: z.ZodNullable<z.ZodString>;
382
+ bathrooms_full: z.ZodNullable<z.ZodNumber>;
383
+ bathrooms_half: z.ZodNullable<z.ZodNumber>;
384
+ bathrooms_one_quarter: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
385
+ bathrooms_three_quarter: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
386
+ stories: z.ZodNullable<z.ZodNumber>;
387
+ garage_spaces: z.ZodNullable<z.ZodNumber>;
388
+ parking_total: z.ZodNullable<z.ZodNumber>;
389
+ county: z.ZodNullable<z.ZodString>;
390
+ subdivision: z.ZodNullable<z.ZodString>;
391
+ features: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
392
+ source_flags: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
393
+ AssociationYN: "AssociationYN";
394
+ AttachedGarageYN: "AttachedGarageYN";
395
+ BasementYN: "BasementYN";
396
+ CarportYN: "CarportYN";
397
+ CoolingYN: "CoolingYN";
398
+ ElectricOnPropertyYN: "ElectricOnPropertyYN";
399
+ FireplaceYN: "FireplaceYN";
400
+ GarageYN: "GarageYN";
401
+ HeatingYN: "HeatingYN";
402
+ NewConstructionYN: "NewConstructionYN";
403
+ PoolPrivateYN: "PoolPrivateYN";
404
+ SpaYN: "SpaYN";
405
+ WaterfrontYN: "WaterfrontYN";
406
+ AccessibleElevatorInstalled: "AccessibleElevatorInstalled";
407
+ Dock: "Dock";
408
+ }> & z.core.$partial, z.ZodBoolean>>;
409
+ association_fees: z.ZodOptional<z.ZodArray<z.ZodObject<{
410
+ kind: z.ZodEnum<{
411
+ association: "association";
412
+ association_secondary: "association_secondary";
413
+ }>;
414
+ amount: z.ZodNullable<z.ZodString>;
415
+ amount_state: z.ZodEnum<{
416
+ unknown: "unknown";
417
+ supported: "supported";
418
+ not_stated: "not_stated";
419
+ }>;
420
+ currency: z.ZodNullable<z.ZodString>;
421
+ currency_source: z.ZodNullable<z.ZodEnum<{
422
+ field: "field";
423
+ source_default: "source_default";
424
+ }>>;
425
+ currency_state: z.ZodEnum<{
426
+ unknown: "unknown";
427
+ supported: "supported";
428
+ not_stated: "not_stated";
429
+ }>;
430
+ period: z.ZodNullable<z.ZodEnum<{
431
+ year: "year";
432
+ day: "day";
433
+ week: "week";
434
+ month: "month";
435
+ quarter: "quarter";
436
+ half_year: "half_year";
437
+ one_time: "one_time";
438
+ }>>;
439
+ period_state: z.ZodEnum<{
440
+ unknown: "unknown";
441
+ supported: "supported";
442
+ not_stated: "not_stated";
443
+ }>;
444
+ source_paths: z.ZodArray<z.ZodString>;
445
+ }, z.core.$strict>>>;
446
+ rooms: z.ZodOptional<z.ZodArray<z.ZodObject<{
447
+ type: z.ZodNullable<z.ZodString>;
448
+ level: z.ZodNullable<z.ZodString>;
449
+ features: z.ZodArray<z.ZodString>;
450
+ dimensions: z.ZodNullable<z.ZodString>;
451
+ length: z.ZodNullable<z.ZodNumber>;
452
+ width: z.ZodNullable<z.ZodNumber>;
453
+ unit: z.ZodNullable<z.ZodString>;
454
+ source_paths: z.ZodArray<z.ZodString>;
455
+ }, z.core.$strict>>>;
456
+ year_built_effective: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
457
+ units_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
458
+ entry_level: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
459
+ }, z.core.$strict>>;
460
+ raw_status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
461
+ property_type: z.ZodNullable<z.ZodString>;
462
+ bedrooms: z.ZodNullable<z.ZodNumber>;
463
+ bathrooms: z.ZodNullable<z.ZodNumber>;
464
+ living_area: z.ZodNullable<z.ZodNumber>;
465
+ living_area_unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
466
+ lot_size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
467
+ lot_size_unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
468
+ year_built: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
469
+ latitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
470
+ longitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
471
+ location: z.ZodOptional<z.ZodObject<{
472
+ state: z.ZodEnum<{
473
+ source: "source";
474
+ pending: "pending";
475
+ resolved: "resolved";
476
+ coarse: "coarse";
477
+ unavailable: "unavailable";
478
+ stale: "stale";
479
+ suppressed: "suppressed";
480
+ }>;
481
+ origin: z.ZodNullable<z.ZodEnum<{
482
+ source: "source";
483
+ geocoded: "geocoded";
484
+ }>>;
485
+ precision: z.ZodEnum<{
486
+ source_unknown: "source_unknown";
487
+ parcel: "parcel";
488
+ street: "street";
489
+ area: "area";
490
+ unknown: "unknown";
491
+ }>;
492
+ map_eligible: z.ZodBoolean;
493
+ coordinates: z.ZodNullable<z.ZodObject<{
494
+ latitude: z.ZodNumber;
495
+ longitude: z.ZodNumber;
496
+ }, z.core.$strip>>;
497
+ accuracy_score: z.ZodNullable<z.ZodNumber>;
498
+ accuracy_type: z.ZodNullable<z.ZodString>;
499
+ match_type: z.ZodNullable<z.ZodString>;
500
+ provider: z.ZodNullable<z.ZodString>;
501
+ provider_version: z.ZodNullable<z.ZodString>;
502
+ policy_version: z.ZodString;
503
+ source: z.ZodNullable<z.ZodString>;
504
+ resolved_at: z.ZodNullable<z.ZodISODateTime>;
505
+ valid_until: z.ZodNullable<z.ZodISODateTime>;
506
+ country_code: z.ZodNullable<z.ZodString>;
507
+ region_code: z.ZodNullable<z.ZodString>;
508
+ timezone: z.ZodNullable<z.ZodString>;
509
+ enrichment: z.ZodNullable<z.ZodObject<{
510
+ provider: z.ZodString;
511
+ provider_version: z.ZodString;
512
+ resolved_at: z.ZodISODateTime;
513
+ valid_until: z.ZodISODateTime;
514
+ fields: z.ZodArray<z.ZodEnum<{
515
+ timezone: "timezone";
516
+ census2025: "census2025";
517
+ }>>;
518
+ }, z.core.$strip>>;
519
+ geography: z.ZodNullable<z.ZodObject<{
520
+ census_year: z.ZodNumber;
521
+ state_fips: z.ZodNullable<z.ZodString>;
522
+ county_fips: z.ZodNullable<z.ZodString>;
523
+ tract_geoid: z.ZodNullable<z.ZodString>;
524
+ block_geoid: z.ZodNullable<z.ZodString>;
525
+ place_fips: z.ZodNullable<z.ZodString>;
526
+ cbsa_code: z.ZodNullable<z.ZodString>;
527
+ source: z.ZodNullable<z.ZodString>;
528
+ }, z.core.$strip>>;
529
+ issue: z.ZodNullable<z.ZodEnum<{
530
+ pending: "pending";
531
+ invalid_source_point: "invalid_source_point";
532
+ insufficient_address: "insufficient_address";
533
+ unsupported_country: "unsupported_country";
534
+ no_match: "no_match";
535
+ low_quality: "low_quality";
536
+ provider_failure: "provider_failure";
537
+ expired: "expired";
538
+ display_restricted: "display_restricted";
539
+ }>>;
540
+ }, z.core.$strip>>;
541
+ mls_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
542
+ source_url: z.ZodNullable<z.ZodString>;
543
+ listed_date: z.ZodNullable<z.ZodString>;
544
+ listed_precision: z.ZodEnum<{
545
+ unknown: "unknown";
546
+ date: "date";
547
+ instant: "instant";
548
+ }>;
549
+ open_houses: z.ZodArray<z.ZodObject<{
550
+ id: z.ZodString;
551
+ start_at: z.ZodString;
552
+ end_at: z.ZodNullable<z.ZodString>;
553
+ timezone: z.ZodNullable<z.ZodString>;
554
+ status: z.ZodEnum<{
555
+ scheduled: "scheduled";
556
+ cancelled: "cancelled";
557
+ }>;
558
+ }, z.core.$strict>>;
559
+ classifications: z.ZodArray<z.ZodObject<{
560
+ attribute: z.ZodString;
561
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber, z.ZodNull]>;
562
+ evidence_state: z.ZodEnum<{
563
+ supported: "supported";
564
+ not_stated: "not_stated";
565
+ conflicting: "conflicting";
566
+ explicitly_absent: "explicitly_absent";
567
+ }>;
568
+ origin: z.ZodEnum<{
569
+ source_structured: "source_structured";
570
+ source_text_interpreted: "source_text_interpreted";
571
+ }>;
572
+ evidence_refs: z.ZodArray<z.ZodString>;
573
+ input_fingerprint: z.ZodString;
574
+ taxonomy_version: z.ZodString;
575
+ evaluation_id: z.ZodString;
576
+ freshness: z.ZodEnum<{
577
+ pending: "pending";
578
+ current: "current";
579
+ invalidated: "invalidated";
580
+ failed: "failed";
581
+ }>;
582
+ }, z.core.$strict>>;
583
+ display: z.ZodObject<{
584
+ address_allowed: z.ZodBoolean;
585
+ disclaimer: z.ZodNullable<z.ZodString>;
586
+ }, z.core.$strict>;
587
+ freshness: z.ZodObject<{
588
+ last_seen_at: z.ZodISODateTime;
589
+ published_at: z.ZodISODateTime;
590
+ source_modified_at: z.ZodNullable<z.ZodISODateTime>;
591
+ }, z.core.$strict>;
592
+ source_amenities: z.ZodOptional<z.ZodObject<{
593
+ version: z.ZodLiteral<"source-amenities-v1">;
594
+ values: z.ZodRecord<z.ZodEnum<{
595
+ hardwood: "hardwood";
596
+ solar: "solar";
597
+ ev_charger: "ev_charger";
598
+ rv_parking: "rv_parking";
599
+ view: "view";
600
+ }>, z.ZodObject<{
601
+ value: z.ZodNullable<z.ZodBoolean>;
602
+ state: z.ZodEnum<{
603
+ supported: "supported";
604
+ not_stated: "not_stated";
605
+ conflicting: "conflicting";
606
+ }>;
607
+ source_paths: z.ZodArray<z.ZodString>;
608
+ }, z.core.$strict>>;
609
+ }, z.core.$strict>>;
610
+ search_document: z.ZodOptional<z.ZodObject<{
611
+ version: z.ZodLiteral<"catalog-search-text-v1">;
612
+ text: z.ZodString;
613
+ }, z.core.$strict>>;
614
+ content_hash: z.ZodOptional<z.ZodString>;
615
+ source_fields: z.ZodOptional<z.ZodObject<{
616
+ listhub: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
617
+ }, z.core.$strict>>;
618
+ source_metadata: z.ZodOptional<z.ZodObject<{
619
+ contract_version: z.ZodLiteral<"catalog-fields-v2">;
620
+ parser_version: z.ZodString;
621
+ exposure_version: z.ZodString;
622
+ source_system_id: z.ZodNullable<z.ZodString>;
623
+ source_system_name: z.ZodNullable<z.ZodString>;
624
+ originating_system_name: z.ZodNullable<z.ZodString>;
625
+ source_photo_count: z.ZodNullable<z.ZodNumber>;
626
+ supplied_paths: z.ZodArray<z.ZodString>;
627
+ }, z.core.$strict>>;
628
+ market_dates: z.ZodOptional<z.ZodObject<{
629
+ listing_contract: z.ZodObject<{
630
+ value: z.ZodNullable<z.ZodString>;
631
+ precision: z.ZodEnum<{
632
+ unknown: "unknown";
633
+ date: "date";
634
+ instant: "instant";
635
+ }>;
636
+ }, z.core.$strict>;
637
+ on_market: z.ZodObject<{
638
+ value: z.ZodNullable<z.ZodString>;
639
+ precision: z.ZodEnum<{
640
+ unknown: "unknown";
641
+ date: "date";
642
+ instant: "instant";
643
+ }>;
644
+ }, z.core.$strict>;
645
+ source_days_on_market: z.ZodNullable<z.ZodNumber>;
646
+ source_cumulative_days_on_market: z.ZodNullable<z.ZodNumber>;
647
+ }, z.core.$strict>>;
648
+ taxes: z.ZodOptional<z.ZodObject<{
649
+ annual_amount: z.ZodNullable<z.ZodString>;
650
+ currency: z.ZodNullable<z.ZodString>;
651
+ year: z.ZodNullable<z.ZodNumber>;
652
+ }, z.core.$strict>>;
653
+ schools: z.ZodOptional<z.ZodArray<z.ZodObject<{
654
+ level: z.ZodEnum<{
655
+ elementary: "elementary";
656
+ middle: "middle";
657
+ high: "high";
658
+ }>;
659
+ name: z.ZodNullable<z.ZodString>;
660
+ district: z.ZodNullable<z.ZodString>;
661
+ }, z.core.$strict>>>;
662
+ price_history: z.ZodOptional<z.ZodObject<{
663
+ original_amount: z.ZodNullable<z.ZodString>;
664
+ previous_amount: z.ZodNullable<z.ZodString>;
665
+ low_amount: z.ZodNullable<z.ZodString>;
666
+ currency: z.ZodNullable<z.ZodString>;
667
+ original_currency: z.ZodNullable<z.ZodString>;
668
+ previous_currency: z.ZodNullable<z.ZodString>;
669
+ low_currency: z.ZodNullable<z.ZodString>;
670
+ changed_at: z.ZodObject<{
671
+ value: z.ZodNullable<z.ZodString>;
672
+ precision: z.ZodEnum<{
673
+ unknown: "unknown";
674
+ date: "date";
675
+ instant: "instant";
676
+ }>;
677
+ }, z.core.$strict>;
678
+ }, z.core.$strict>>;
679
+ virtual_tours: z.ZodOptional<z.ZodObject<{
680
+ branded_url: z.ZodNullable<z.ZodURL>;
681
+ unbranded_url: z.ZodNullable<z.ZodURL>;
682
+ }, z.core.$strict>>;
683
+ additional_media: z.ZodOptional<z.ZodArray<z.ZodObject<{
684
+ url: z.ZodURL;
685
+ categories: z.ZodArray<z.ZodString>;
686
+ order: z.ZodNumber;
687
+ caption: z.ZodNullable<z.ZodString>;
688
+ }, z.core.$strict>>>;
689
+ professionals: z.ZodOptional<z.ZodObject<{
690
+ agent: z.ZodObject<{
691
+ full_name: z.ZodNullable<z.ZodString>;
692
+ first_name: z.ZodNullable<z.ZodString>;
693
+ last_name: z.ZodNullable<z.ZodString>;
694
+ license: z.ZodNullable<z.ZodString>;
695
+ }, z.core.$strict>;
696
+ office: z.ZodObject<{
697
+ key: z.ZodNullable<z.ZodString>;
698
+ mls_id: z.ZodNullable<z.ZodString>;
699
+ name: z.ZodNullable<z.ZodString>;
700
+ broker_mls_id: z.ZodNullable<z.ZodString>;
701
+ corporate_id: z.ZodNullable<z.ZodString>;
702
+ main_office_id: z.ZodNullable<z.ZodString>;
703
+ website_url: z.ZodNullable<z.ZodURL>;
704
+ address: z.ZodObject<{
705
+ street: z.ZodNullable<z.ZodString>;
706
+ unit: z.ZodNullable<z.ZodString>;
707
+ city: z.ZodNullable<z.ZodString>;
708
+ region: z.ZodNullable<z.ZodString>;
709
+ postal_code: z.ZodNullable<z.ZodString>;
710
+ country: z.ZodNullable<z.ZodString>;
711
+ }, z.core.$strict>;
712
+ }, z.core.$strict>;
713
+ brokerage: z.ZodObject<{
714
+ name: z.ZodNullable<z.ZodString>;
715
+ website_url: z.ZodNullable<z.ZodURL>;
716
+ logo_url: z.ZodNullable<z.ZodURL>;
717
+ address: z.ZodObject<{
718
+ street: z.ZodNullable<z.ZodString>;
719
+ unit: z.ZodNullable<z.ZodString>;
720
+ city: z.ZodNullable<z.ZodString>;
721
+ region: z.ZodNullable<z.ZodString>;
722
+ postal_code: z.ZodNullable<z.ZodString>;
723
+ country: z.ZodNullable<z.ZodString>;
724
+ }, z.core.$strict>;
725
+ }, z.core.$strict>;
726
+ builder: z.ZodObject<{
727
+ name: z.ZodNullable<z.ZodString>;
728
+ }, z.core.$strict>;
729
+ franchise: z.ZodNullable<z.ZodString>;
730
+ }, z.core.$strict>>;
731
+ permissions: z.ZodOptional<z.ZodObject<{
732
+ internet_display: z.ZodNullable<z.ZodBoolean>;
733
+ entire_listing_display: z.ZodNullable<z.ZodBoolean>;
734
+ address_display: z.ZodNullable<z.ZodBoolean>;
735
+ automated_valuation_display: z.ZodNullable<z.ZodBoolean>;
736
+ consumer_comment: z.ZodNullable<z.ZodBoolean>;
737
+ }, z.core.$strict>>;
738
+ }, z.core.$strict>>;
739
+ matched_because: z.ZodArray<z.ZodObject<{
740
+ feature: z.ZodString;
741
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
742
+ origin: z.ZodEnum<{
743
+ source_structured: "source_structured";
744
+ source_text_interpreted: "source_text_interpreted";
745
+ }>;
746
+ evidence_refs: z.ZodArray<z.ZodString>;
747
+ }, z.core.$strict>>;
748
+ }, z.core.$strict>>;
749
+ next_cursor: z.ZodNullable<z.ZodString>;
750
+ has_more: z.ZodBoolean;
751
+ meta: z.ZodObject<{
752
+ backend: z.ZodEnum<{
753
+ typesense: "typesense";
754
+ postgres: "postgres";
755
+ }>;
756
+ consistency: z.ZodEnum<{
757
+ degraded: "degraded";
758
+ current_index: "current_index";
759
+ completed_snapshot: "completed_snapshot";
760
+ }>;
761
+ generation: z.ZodString;
762
+ checkpoint: z.ZodString;
763
+ query_hash: z.ZodString;
764
+ checked_at: z.ZodISODateTime;
765
+ inventory: z.ZodOptional<z.ZodObject<{
766
+ state: z.ZodEnum<{
767
+ partial: "partial";
768
+ complete: "complete";
769
+ }>;
770
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
771
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
772
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
773
+ valid_until: z.ZodISODateTime;
774
+ }, z.core.$strict>>;
775
+ snapshot: z.ZodOptional<z.ZodObject<{
776
+ published_through_at: z.ZodISODateTime;
777
+ max_lag_seconds: z.ZodNumber;
778
+ updates_pending: z.ZodBoolean;
779
+ excluded_count: z.ZodNumber;
780
+ }, z.core.$strict>>;
781
+ total: z.ZodNullable<z.ZodNumber>;
782
+ total_relation: z.ZodEnum<{
783
+ unavailable: "unavailable";
784
+ exact: "exact";
785
+ }>;
786
+ search_time_ms: z.ZodNumber;
787
+ timings: z.ZodOptional<z.ZodObject<{
788
+ authorization_ms: z.ZodNumber;
789
+ provider_ms: z.ZodNumber;
790
+ hydration_ms: z.ZodNumber;
791
+ total_ms: z.ZodNumber;
792
+ }, z.core.$strict>>;
793
+ warnings: z.ZodArray<z.ZodString>;
794
+ }, z.core.$strict>;
795
+ }, z.core.$strict>;
796
+ export declare const SearchFacetRequest: z.ZodObject<{
797
+ query: z.ZodObject<{
798
+ dataset_id: z.ZodOptional<z.ZodString>;
799
+ q: z.ZodDefault<z.ZodString>;
800
+ filters: z.ZodPrefault<z.ZodObject<{
801
+ transaction_type: z.ZodOptional<z.ZodEnum<{
802
+ for_sale: "for_sale";
803
+ for_rent: "for_rent";
804
+ }>>;
805
+ currency: z.ZodOptional<z.ZodString>;
806
+ price_period: z.ZodOptional<z.ZodString>;
807
+ price: z.ZodOptional<z.ZodObject<{
808
+ min: z.ZodOptional<z.ZodString>;
809
+ max: z.ZodOptional<z.ZodString>;
810
+ }, z.core.$strict>>;
811
+ bedrooms: z.ZodOptional<z.ZodObject<{
812
+ min: z.ZodOptional<z.ZodNumber>;
813
+ max: z.ZodOptional<z.ZodNumber>;
814
+ }, z.core.$strict>>;
815
+ bathrooms: z.ZodOptional<z.ZodObject<{
816
+ min: z.ZodOptional<z.ZodNumber>;
817
+ max: z.ZodOptional<z.ZodNumber>;
818
+ }, z.core.$strict>>;
819
+ living_area: z.ZodOptional<z.ZodObject<{
820
+ min: z.ZodOptional<z.ZodNumber>;
821
+ max: z.ZodOptional<z.ZodNumber>;
822
+ }, z.core.$strict>>;
823
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
824
+ sqft: "sqft";
825
+ sqm: "sqm";
826
+ }>>;
827
+ city: z.ZodOptional<z.ZodString>;
828
+ region: z.ZodOptional<z.ZodString>;
829
+ postal_code: z.ZodOptional<z.ZodString>;
830
+ property_type: z.ZodOptional<z.ZodString>;
831
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
832
+ feature: z.ZodString;
833
+ operator: z.ZodDefault<z.ZodEnum<{
834
+ in: "in";
835
+ eq: "eq";
836
+ neq: "neq";
837
+ not_in: "not_in";
838
+ gt: "gt";
839
+ gte: "gte";
840
+ lt: "lt";
841
+ lte: "lte";
842
+ }>>;
843
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
844
+ }, z.core.$strict>>>;
845
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
846
+ feature: z.ZodString;
847
+ operator: z.ZodDefault<z.ZodEnum<{
848
+ in: "in";
849
+ eq: "eq";
850
+ neq: "neq";
851
+ not_in: "not_in";
852
+ gt: "gt";
853
+ gte: "gte";
854
+ lt: "lt";
855
+ lte: "lte";
856
+ }>>;
857
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
858
+ }, z.core.$strict>>>;
859
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
860
+ feature: z.ZodString;
861
+ operator: z.ZodDefault<z.ZodEnum<{
862
+ in: "in";
863
+ eq: "eq";
864
+ neq: "neq";
865
+ not_in: "not_in";
866
+ gt: "gt";
867
+ gte: "gte";
868
+ lt: "lt";
869
+ lte: "lte";
870
+ }>>;
871
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
872
+ }, z.core.$strict>>>;
873
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
874
+ feature: z.ZodString;
875
+ operator: z.ZodDefault<z.ZodEnum<{
876
+ in: "in";
877
+ eq: "eq";
878
+ neq: "neq";
879
+ not_in: "not_in";
880
+ gt: "gt";
881
+ gte: "gte";
882
+ lt: "lt";
883
+ lte: "lte";
884
+ }>>;
885
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
886
+ }, z.core.$strict>>>;
887
+ }, z.core.$strict>>;
888
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
889
+ radius: z.ZodOptional<z.ZodObject<{
890
+ latitude: z.ZodNumber;
891
+ longitude: z.ZodNumber;
892
+ km: z.ZodNumber;
893
+ }, z.core.$strict>>;
894
+ sort: z.ZodDefault<z.ZodEnum<{
895
+ relevance: "relevance";
896
+ price_asc: "price_asc";
897
+ price_desc: "price_desc";
898
+ newest: "newest";
899
+ }>>;
900
+ limit: z.ZodDefault<z.ZodNumber>;
901
+ cursor: z.ZodOptional<z.ZodString>;
902
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
903
+ facet_limit: z.ZodOptional<z.ZodNumber>;
904
+ }, z.core.$strict>;
905
+ fields: z.ZodArray<z.ZodString>;
906
+ limit: z.ZodDefault<z.ZodNumber>;
907
+ }, z.core.$strict>;
908
+ export declare const SearchFacetResponse: z.ZodObject<{
909
+ facets: z.ZodArray<z.ZodObject<{
910
+ field: z.ZodString;
911
+ values: z.ZodArray<z.ZodObject<{
912
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
913
+ count: z.ZodNumber;
914
+ }, z.core.$strict>>;
915
+ assessed: z.ZodNullable<z.ZodNumber>;
916
+ conflicting: z.ZodNullable<z.ZodNumber>;
917
+ not_assessed: z.ZodNullable<z.ZodNumber>;
918
+ unknown: z.ZodNullable<z.ZodNumber>;
919
+ truncated: z.ZodBoolean;
920
+ }, z.core.$strict>>;
921
+ meta: z.ZodObject<{
922
+ backend: z.ZodEnum<{
923
+ typesense: "typesense";
924
+ postgres: "postgres";
925
+ }>;
926
+ consistency: z.ZodEnum<{
927
+ degraded: "degraded";
928
+ current_index: "current_index";
929
+ completed_snapshot: "completed_snapshot";
930
+ }>;
931
+ generation: z.ZodString;
932
+ checkpoint: z.ZodString;
933
+ query_hash: z.ZodString;
934
+ checked_at: z.ZodISODateTime;
935
+ inventory: z.ZodOptional<z.ZodObject<{
936
+ state: z.ZodEnum<{
937
+ partial: "partial";
938
+ complete: "complete";
939
+ }>;
940
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
941
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
942
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
943
+ valid_until: z.ZodISODateTime;
944
+ }, z.core.$strict>>;
945
+ snapshot: z.ZodOptional<z.ZodObject<{
946
+ published_through_at: z.ZodISODateTime;
947
+ max_lag_seconds: z.ZodNumber;
948
+ updates_pending: z.ZodBoolean;
949
+ excluded_count: z.ZodNumber;
950
+ }, z.core.$strict>>;
951
+ total: z.ZodNullable<z.ZodNumber>;
952
+ total_relation: z.ZodEnum<{
953
+ unavailable: "unavailable";
954
+ exact: "exact";
955
+ }>;
956
+ search_time_ms: z.ZodNumber;
957
+ timings: z.ZodOptional<z.ZodObject<{
958
+ authorization_ms: z.ZodNumber;
959
+ provider_ms: z.ZodNumber;
960
+ hydration_ms: z.ZodNumber;
961
+ total_ms: z.ZodNumber;
962
+ }, z.core.$strict>>;
963
+ warnings: z.ZodArray<z.ZodString>;
964
+ }, z.core.$strict>;
965
+ }, z.core.$strict>;
966
+ export declare const SearchMapRequest: z.ZodObject<{
967
+ query: z.ZodObject<{
968
+ dataset_id: z.ZodOptional<z.ZodString>;
969
+ q: z.ZodDefault<z.ZodString>;
970
+ filters: z.ZodPrefault<z.ZodObject<{
971
+ transaction_type: z.ZodOptional<z.ZodEnum<{
972
+ for_sale: "for_sale";
973
+ for_rent: "for_rent";
974
+ }>>;
975
+ currency: z.ZodOptional<z.ZodString>;
976
+ price_period: z.ZodOptional<z.ZodString>;
977
+ price: z.ZodOptional<z.ZodObject<{
978
+ min: z.ZodOptional<z.ZodString>;
979
+ max: z.ZodOptional<z.ZodString>;
980
+ }, z.core.$strict>>;
981
+ bedrooms: z.ZodOptional<z.ZodObject<{
982
+ min: z.ZodOptional<z.ZodNumber>;
983
+ max: z.ZodOptional<z.ZodNumber>;
984
+ }, z.core.$strict>>;
985
+ bathrooms: z.ZodOptional<z.ZodObject<{
986
+ min: z.ZodOptional<z.ZodNumber>;
987
+ max: z.ZodOptional<z.ZodNumber>;
988
+ }, z.core.$strict>>;
989
+ living_area: z.ZodOptional<z.ZodObject<{
990
+ min: z.ZodOptional<z.ZodNumber>;
991
+ max: z.ZodOptional<z.ZodNumber>;
992
+ }, z.core.$strict>>;
993
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
994
+ sqft: "sqft";
995
+ sqm: "sqm";
996
+ }>>;
997
+ city: z.ZodOptional<z.ZodString>;
998
+ region: z.ZodOptional<z.ZodString>;
999
+ postal_code: z.ZodOptional<z.ZodString>;
1000
+ property_type: z.ZodOptional<z.ZodString>;
1001
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
1002
+ feature: z.ZodString;
1003
+ operator: z.ZodDefault<z.ZodEnum<{
1004
+ in: "in";
1005
+ eq: "eq";
1006
+ neq: "neq";
1007
+ not_in: "not_in";
1008
+ gt: "gt";
1009
+ gte: "gte";
1010
+ lt: "lt";
1011
+ lte: "lte";
1012
+ }>>;
1013
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1014
+ }, z.core.$strict>>>;
1015
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
1016
+ feature: z.ZodString;
1017
+ operator: z.ZodDefault<z.ZodEnum<{
1018
+ in: "in";
1019
+ eq: "eq";
1020
+ neq: "neq";
1021
+ not_in: "not_in";
1022
+ gt: "gt";
1023
+ gte: "gte";
1024
+ lt: "lt";
1025
+ lte: "lte";
1026
+ }>>;
1027
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1028
+ }, z.core.$strict>>>;
1029
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
1030
+ feature: z.ZodString;
1031
+ operator: z.ZodDefault<z.ZodEnum<{
1032
+ in: "in";
1033
+ eq: "eq";
1034
+ neq: "neq";
1035
+ not_in: "not_in";
1036
+ gt: "gt";
1037
+ gte: "gte";
1038
+ lt: "lt";
1039
+ lte: "lte";
1040
+ }>>;
1041
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1042
+ }, z.core.$strict>>>;
1043
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
1044
+ feature: z.ZodString;
1045
+ operator: z.ZodDefault<z.ZodEnum<{
1046
+ in: "in";
1047
+ eq: "eq";
1048
+ neq: "neq";
1049
+ not_in: "not_in";
1050
+ gt: "gt";
1051
+ gte: "gte";
1052
+ lt: "lt";
1053
+ lte: "lte";
1054
+ }>>;
1055
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1056
+ }, z.core.$strict>>>;
1057
+ }, z.core.$strict>>;
1058
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1059
+ radius: z.ZodOptional<z.ZodObject<{
1060
+ latitude: z.ZodNumber;
1061
+ longitude: z.ZodNumber;
1062
+ km: z.ZodNumber;
1063
+ }, z.core.$strict>>;
1064
+ sort: z.ZodDefault<z.ZodEnum<{
1065
+ relevance: "relevance";
1066
+ price_asc: "price_asc";
1067
+ price_desc: "price_desc";
1068
+ newest: "newest";
1069
+ }>>;
1070
+ limit: z.ZodDefault<z.ZodNumber>;
1071
+ cursor: z.ZodOptional<z.ZodString>;
1072
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1073
+ facet_limit: z.ZodOptional<z.ZodNumber>;
1074
+ }, z.core.$strict>;
1075
+ viewport: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1076
+ zoom: z.ZodDefault<z.ZodNumber>;
1077
+ limit: z.ZodDefault<z.ZodNumber>;
1078
+ }, z.core.$strict>;
1079
+ export declare const SearchMapResponse: z.ZodObject<{
1080
+ points: z.ZodArray<z.ZodObject<{
1081
+ id: z.ZodString;
1082
+ latitude: z.ZodNumber;
1083
+ longitude: z.ZodNumber;
1084
+ price: z.ZodNullable<z.ZodString>;
1085
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1086
+ price_period: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1087
+ }, z.core.$strict>>;
1088
+ clusters: z.ZodArray<z.ZodObject<{
1089
+ id: z.ZodString;
1090
+ latitude: z.ZodNumber;
1091
+ longitude: z.ZodNumber;
1092
+ count: z.ZodNumber;
1093
+ bounds: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1094
+ }, z.core.$strict>>;
1095
+ truncated: z.ZodBoolean;
1096
+ unmappable: z.ZodNullable<z.ZodNumber>;
1097
+ mode: z.ZodEnum<{
1098
+ points: "points";
1099
+ cells: "cells";
1100
+ }>;
1101
+ coverage: z.ZodEnum<{
1102
+ complete: "complete";
1103
+ bounded: "bounded";
1104
+ }>;
1105
+ counts: z.ZodObject<{
1106
+ matching: z.ZodNumber;
1107
+ mappable: z.ZodNumber;
1108
+ viewport: z.ZodNumber;
1109
+ returned: z.ZodNumber;
1110
+ represented: z.ZodNumber;
1111
+ }, z.core.$strict>;
1112
+ valid_until: z.ZodISODateTime;
1113
+ meta: z.ZodObject<{
1114
+ backend: z.ZodEnum<{
1115
+ typesense: "typesense";
1116
+ postgres: "postgres";
1117
+ }>;
1118
+ consistency: z.ZodEnum<{
1119
+ degraded: "degraded";
1120
+ current_index: "current_index";
1121
+ completed_snapshot: "completed_snapshot";
1122
+ }>;
1123
+ generation: z.ZodString;
1124
+ checkpoint: z.ZodString;
1125
+ query_hash: z.ZodString;
1126
+ checked_at: z.ZodISODateTime;
1127
+ inventory: z.ZodOptional<z.ZodObject<{
1128
+ state: z.ZodEnum<{
1129
+ partial: "partial";
1130
+ complete: "complete";
1131
+ }>;
1132
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
1133
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
1134
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
1135
+ valid_until: z.ZodISODateTime;
1136
+ }, z.core.$strict>>;
1137
+ snapshot: z.ZodOptional<z.ZodObject<{
1138
+ published_through_at: z.ZodISODateTime;
1139
+ max_lag_seconds: z.ZodNumber;
1140
+ updates_pending: z.ZodBoolean;
1141
+ excluded_count: z.ZodNumber;
1142
+ }, z.core.$strict>>;
1143
+ total: z.ZodNullable<z.ZodNumber>;
1144
+ total_relation: z.ZodEnum<{
1145
+ unavailable: "unavailable";
1146
+ exact: "exact";
1147
+ }>;
1148
+ search_time_ms: z.ZodNumber;
1149
+ timings: z.ZodOptional<z.ZodObject<{
1150
+ authorization_ms: z.ZodNumber;
1151
+ provider_ms: z.ZodNumber;
1152
+ hydration_ms: z.ZodNumber;
1153
+ total_ms: z.ZodNumber;
1154
+ }, z.core.$strict>>;
1155
+ warnings: z.ZodArray<z.ZodString>;
1156
+ }, z.core.$strict>;
1157
+ }, z.core.$strict>;
1158
+ export declare const SearchSuggestRequest: z.ZodObject<{
1159
+ dataset_id: z.ZodOptional<z.ZodString>;
1160
+ q: z.ZodString;
1161
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1162
+ }, z.core.$strict>;
1163
+ export declare const SearchSuggestResponse: z.ZodObject<{
1164
+ suggestions: z.ZodArray<z.ZodObject<{
1165
+ kind: z.ZodEnum<{
1166
+ listing: "listing";
1167
+ feature: "feature";
1168
+ place: "place";
1169
+ }>;
1170
+ label: z.ZodString;
1171
+ value: z.ZodString;
1172
+ feature: z.ZodOptional<z.ZodString>;
1173
+ place: z.ZodOptional<z.ZodObject<{
1174
+ city: z.ZodOptional<z.ZodString>;
1175
+ region: z.ZodOptional<z.ZodString>;
1176
+ postal_code: z.ZodOptional<z.ZodString>;
1177
+ }, z.core.$strict>>;
1178
+ }, z.core.$strict>>;
1179
+ meta: z.ZodObject<{
1180
+ backend: z.ZodEnum<{
1181
+ typesense: "typesense";
1182
+ postgres: "postgres";
1183
+ }>;
1184
+ consistency: z.ZodEnum<{
1185
+ degraded: "degraded";
1186
+ current_index: "current_index";
1187
+ completed_snapshot: "completed_snapshot";
1188
+ }>;
1189
+ generation: z.ZodString;
1190
+ checkpoint: z.ZodString;
1191
+ query_hash: z.ZodString;
1192
+ checked_at: z.ZodISODateTime;
1193
+ inventory: z.ZodOptional<z.ZodObject<{
1194
+ state: z.ZodEnum<{
1195
+ partial: "partial";
1196
+ complete: "complete";
1197
+ }>;
1198
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
1199
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
1200
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
1201
+ valid_until: z.ZodISODateTime;
1202
+ }, z.core.$strict>>;
1203
+ snapshot: z.ZodOptional<z.ZodObject<{
1204
+ published_through_at: z.ZodISODateTime;
1205
+ max_lag_seconds: z.ZodNumber;
1206
+ updates_pending: z.ZodBoolean;
1207
+ excluded_count: z.ZodNumber;
1208
+ }, z.core.$strict>>;
1209
+ total: z.ZodNullable<z.ZodNumber>;
1210
+ total_relation: z.ZodEnum<{
1211
+ unavailable: "unavailable";
1212
+ exact: "exact";
1213
+ }>;
1214
+ search_time_ms: z.ZodNumber;
1215
+ timings: z.ZodOptional<z.ZodObject<{
1216
+ authorization_ms: z.ZodNumber;
1217
+ provider_ms: z.ZodNumber;
1218
+ hydration_ms: z.ZodNumber;
1219
+ total_ms: z.ZodNumber;
1220
+ }, z.core.$strict>>;
1221
+ warnings: z.ZodArray<z.ZodString>;
1222
+ }, z.core.$strict>;
1223
+ }, z.core.$strict>;
1224
+ export declare const SearchInterpretRequest: z.ZodObject<{
1225
+ dataset_id: z.ZodOptional<z.ZodString>;
1226
+ text: z.ZodString;
1227
+ }, z.core.$strict>;
1228
+ export declare const SearchInterpretResponse: z.ZodObject<{
1229
+ query: z.ZodObject<{
1230
+ dataset_id: z.ZodOptional<z.ZodString>;
1231
+ q: z.ZodDefault<z.ZodString>;
1232
+ filters: z.ZodPrefault<z.ZodObject<{
1233
+ transaction_type: z.ZodOptional<z.ZodEnum<{
1234
+ for_sale: "for_sale";
1235
+ for_rent: "for_rent";
1236
+ }>>;
1237
+ currency: z.ZodOptional<z.ZodString>;
1238
+ price_period: z.ZodOptional<z.ZodString>;
1239
+ price: z.ZodOptional<z.ZodObject<{
1240
+ min: z.ZodOptional<z.ZodString>;
1241
+ max: z.ZodOptional<z.ZodString>;
1242
+ }, z.core.$strict>>;
1243
+ bedrooms: z.ZodOptional<z.ZodObject<{
1244
+ min: z.ZodOptional<z.ZodNumber>;
1245
+ max: z.ZodOptional<z.ZodNumber>;
1246
+ }, z.core.$strict>>;
1247
+ bathrooms: z.ZodOptional<z.ZodObject<{
1248
+ min: z.ZodOptional<z.ZodNumber>;
1249
+ max: z.ZodOptional<z.ZodNumber>;
1250
+ }, z.core.$strict>>;
1251
+ living_area: z.ZodOptional<z.ZodObject<{
1252
+ min: z.ZodOptional<z.ZodNumber>;
1253
+ max: z.ZodOptional<z.ZodNumber>;
1254
+ }, z.core.$strict>>;
1255
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
1256
+ sqft: "sqft";
1257
+ sqm: "sqm";
1258
+ }>>;
1259
+ city: z.ZodOptional<z.ZodString>;
1260
+ region: z.ZodOptional<z.ZodString>;
1261
+ postal_code: z.ZodOptional<z.ZodString>;
1262
+ property_type: z.ZodOptional<z.ZodString>;
1263
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
1264
+ feature: z.ZodString;
1265
+ operator: z.ZodDefault<z.ZodEnum<{
1266
+ in: "in";
1267
+ eq: "eq";
1268
+ neq: "neq";
1269
+ not_in: "not_in";
1270
+ gt: "gt";
1271
+ gte: "gte";
1272
+ lt: "lt";
1273
+ lte: "lte";
1274
+ }>>;
1275
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1276
+ }, z.core.$strict>>>;
1277
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
1278
+ feature: z.ZodString;
1279
+ operator: z.ZodDefault<z.ZodEnum<{
1280
+ in: "in";
1281
+ eq: "eq";
1282
+ neq: "neq";
1283
+ not_in: "not_in";
1284
+ gt: "gt";
1285
+ gte: "gte";
1286
+ lt: "lt";
1287
+ lte: "lte";
1288
+ }>>;
1289
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1290
+ }, z.core.$strict>>>;
1291
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
1292
+ feature: z.ZodString;
1293
+ operator: z.ZodDefault<z.ZodEnum<{
1294
+ in: "in";
1295
+ eq: "eq";
1296
+ neq: "neq";
1297
+ not_in: "not_in";
1298
+ gt: "gt";
1299
+ gte: "gte";
1300
+ lt: "lt";
1301
+ lte: "lte";
1302
+ }>>;
1303
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1304
+ }, z.core.$strict>>>;
1305
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
1306
+ feature: z.ZodString;
1307
+ operator: z.ZodDefault<z.ZodEnum<{
1308
+ in: "in";
1309
+ eq: "eq";
1310
+ neq: "neq";
1311
+ not_in: "not_in";
1312
+ gt: "gt";
1313
+ gte: "gte";
1314
+ lt: "lt";
1315
+ lte: "lte";
1316
+ }>>;
1317
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1318
+ }, z.core.$strict>>>;
1319
+ }, z.core.$strict>>;
1320
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1321
+ radius: z.ZodOptional<z.ZodObject<{
1322
+ latitude: z.ZodNumber;
1323
+ longitude: z.ZodNumber;
1324
+ km: z.ZodNumber;
1325
+ }, z.core.$strict>>;
1326
+ sort: z.ZodDefault<z.ZodEnum<{
1327
+ relevance: "relevance";
1328
+ price_asc: "price_asc";
1329
+ price_desc: "price_desc";
1330
+ newest: "newest";
1331
+ }>>;
1332
+ limit: z.ZodDefault<z.ZodNumber>;
1333
+ cursor: z.ZodOptional<z.ZodString>;
1334
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1335
+ facet_limit: z.ZodOptional<z.ZodNumber>;
1336
+ }, z.core.$strict>;
1337
+ chips: z.ZodArray<z.ZodObject<{
1338
+ label: z.ZodString;
1339
+ field: z.ZodString;
1340
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1341
+ }, z.core.$strict>>;
1342
+ unresolved: z.ZodArray<z.ZodString>;
1343
+ requires_confirmation: z.ZodBoolean;
1344
+ method: z.ZodLiteral<"bounded_rules">;
1345
+ }, z.core.$strict>;
1346
+ export declare const SearchFeaturesResponse: z.ZodObject<{
1347
+ version: z.ZodLiteral<"property-discovery-v1">;
1348
+ features: z.ZodArray<z.ZodObject<{
1349
+ id: z.ZodString;
1350
+ family: z.ZodNumber;
1351
+ label: z.ZodString;
1352
+ definition: z.ZodString;
1353
+ type: z.ZodEnum<{
1354
+ string: "string";
1355
+ number: "number";
1356
+ boolean: "boolean";
1357
+ }>;
1358
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1359
+ synonyms: z.ZodArray<z.ZodString>;
1360
+ applicability: z.ZodEnum<{
1361
+ any: "any";
1362
+ rental: "rental";
1363
+ dwelling: "dwelling";
1364
+ sale: "sale";
1365
+ }>;
1366
+ source_paths: z.ZodArray<z.ZodString>;
1367
+ operators: z.ZodArray<z.ZodEnum<{
1368
+ in: "in";
1369
+ eq: "eq";
1370
+ neq: "neq";
1371
+ not_in: "not_in";
1372
+ gt: "gt";
1373
+ gte: "gte";
1374
+ lt: "lt";
1375
+ lte: "lte";
1376
+ }>>;
1377
+ availability: z.ZodEnum<{
1378
+ source_and_interpretation: "source_and_interpretation";
1379
+ source_only: "source_only";
1380
+ }>;
1381
+ consequence: z.ZodEnum<{
1382
+ ordinary: "ordinary";
1383
+ consequential: "consequential";
1384
+ }>;
1385
+ status: z.ZodLiteral<"experimental">;
1386
+ }, z.core.$strict>>;
1387
+ }, z.core.$strict>;
1388
+ export declare const searchOperations: {
1389
+ readonly searchFeatures: {
1390
+ readonly input: z.ZodObject<{}, z.core.$strict>;
1391
+ readonly output: z.ZodObject<{
1392
+ version: z.ZodLiteral<"property-discovery-v1">;
1393
+ features: z.ZodArray<z.ZodObject<{
1394
+ id: z.ZodString;
1395
+ family: z.ZodNumber;
1396
+ label: z.ZodString;
1397
+ definition: z.ZodString;
1398
+ type: z.ZodEnum<{
1399
+ string: "string";
1400
+ number: "number";
1401
+ boolean: "boolean";
1402
+ }>;
1403
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1404
+ synonyms: z.ZodArray<z.ZodString>;
1405
+ applicability: z.ZodEnum<{
1406
+ any: "any";
1407
+ rental: "rental";
1408
+ dwelling: "dwelling";
1409
+ sale: "sale";
1410
+ }>;
1411
+ source_paths: z.ZodArray<z.ZodString>;
1412
+ operators: z.ZodArray<z.ZodEnum<{
1413
+ in: "in";
1414
+ eq: "eq";
1415
+ neq: "neq";
1416
+ not_in: "not_in";
1417
+ gt: "gt";
1418
+ gte: "gte";
1419
+ lt: "lt";
1420
+ lte: "lte";
1421
+ }>>;
1422
+ availability: z.ZodEnum<{
1423
+ source_and_interpretation: "source_and_interpretation";
1424
+ source_only: "source_only";
1425
+ }>;
1426
+ consequence: z.ZodEnum<{
1427
+ ordinary: "ordinary";
1428
+ consequential: "consequential";
1429
+ }>;
1430
+ status: z.ZodLiteral<"experimental">;
1431
+ }, z.core.$strict>>;
1432
+ }, z.core.$strict>;
1433
+ };
1434
+ readonly searchListings: {
1435
+ readonly input: z.ZodObject<{
1436
+ dataset_id: z.ZodOptional<z.ZodString>;
1437
+ q: z.ZodDefault<z.ZodString>;
1438
+ filters: z.ZodPrefault<z.ZodObject<{
1439
+ transaction_type: z.ZodOptional<z.ZodEnum<{
1440
+ for_sale: "for_sale";
1441
+ for_rent: "for_rent";
1442
+ }>>;
1443
+ currency: z.ZodOptional<z.ZodString>;
1444
+ price_period: z.ZodOptional<z.ZodString>;
1445
+ price: z.ZodOptional<z.ZodObject<{
1446
+ min: z.ZodOptional<z.ZodString>;
1447
+ max: z.ZodOptional<z.ZodString>;
1448
+ }, z.core.$strict>>;
1449
+ bedrooms: z.ZodOptional<z.ZodObject<{
1450
+ min: z.ZodOptional<z.ZodNumber>;
1451
+ max: z.ZodOptional<z.ZodNumber>;
1452
+ }, z.core.$strict>>;
1453
+ bathrooms: z.ZodOptional<z.ZodObject<{
1454
+ min: z.ZodOptional<z.ZodNumber>;
1455
+ max: z.ZodOptional<z.ZodNumber>;
1456
+ }, z.core.$strict>>;
1457
+ living_area: z.ZodOptional<z.ZodObject<{
1458
+ min: z.ZodOptional<z.ZodNumber>;
1459
+ max: z.ZodOptional<z.ZodNumber>;
1460
+ }, z.core.$strict>>;
1461
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
1462
+ sqft: "sqft";
1463
+ sqm: "sqm";
1464
+ }>>;
1465
+ city: z.ZodOptional<z.ZodString>;
1466
+ region: z.ZodOptional<z.ZodString>;
1467
+ postal_code: z.ZodOptional<z.ZodString>;
1468
+ property_type: z.ZodOptional<z.ZodString>;
1469
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
1470
+ feature: z.ZodString;
1471
+ operator: z.ZodDefault<z.ZodEnum<{
1472
+ in: "in";
1473
+ eq: "eq";
1474
+ neq: "neq";
1475
+ not_in: "not_in";
1476
+ gt: "gt";
1477
+ gte: "gte";
1478
+ lt: "lt";
1479
+ lte: "lte";
1480
+ }>>;
1481
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1482
+ }, z.core.$strict>>>;
1483
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
1484
+ feature: z.ZodString;
1485
+ operator: z.ZodDefault<z.ZodEnum<{
1486
+ in: "in";
1487
+ eq: "eq";
1488
+ neq: "neq";
1489
+ not_in: "not_in";
1490
+ gt: "gt";
1491
+ gte: "gte";
1492
+ lt: "lt";
1493
+ lte: "lte";
1494
+ }>>;
1495
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1496
+ }, z.core.$strict>>>;
1497
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
1498
+ feature: z.ZodString;
1499
+ operator: z.ZodDefault<z.ZodEnum<{
1500
+ in: "in";
1501
+ eq: "eq";
1502
+ neq: "neq";
1503
+ not_in: "not_in";
1504
+ gt: "gt";
1505
+ gte: "gte";
1506
+ lt: "lt";
1507
+ lte: "lte";
1508
+ }>>;
1509
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1510
+ }, z.core.$strict>>>;
1511
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
1512
+ feature: z.ZodString;
1513
+ operator: z.ZodDefault<z.ZodEnum<{
1514
+ in: "in";
1515
+ eq: "eq";
1516
+ neq: "neq";
1517
+ not_in: "not_in";
1518
+ gt: "gt";
1519
+ gte: "gte";
1520
+ lt: "lt";
1521
+ lte: "lte";
1522
+ }>>;
1523
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
1524
+ }, z.core.$strict>>>;
1525
+ }, z.core.$strict>>;
1526
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1527
+ radius: z.ZodOptional<z.ZodObject<{
1528
+ latitude: z.ZodNumber;
1529
+ longitude: z.ZodNumber;
1530
+ km: z.ZodNumber;
1531
+ }, z.core.$strict>>;
1532
+ sort: z.ZodDefault<z.ZodEnum<{
1533
+ relevance: "relevance";
1534
+ price_asc: "price_asc";
1535
+ price_desc: "price_desc";
1536
+ newest: "newest";
1537
+ }>>;
1538
+ limit: z.ZodDefault<z.ZodNumber>;
1539
+ cursor: z.ZodOptional<z.ZodString>;
1540
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
1541
+ facet_limit: z.ZodOptional<z.ZodNumber>;
1542
+ }, z.core.$strict>;
1543
+ readonly output: z.ZodObject<{
1544
+ facets: z.ZodOptional<z.ZodArray<z.ZodObject<{
1545
+ field: z.ZodString;
1546
+ values: z.ZodArray<z.ZodObject<{
1547
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
1548
+ count: z.ZodNumber;
1549
+ }, z.core.$strict>>;
1550
+ assessed: z.ZodNullable<z.ZodNumber>;
1551
+ conflicting: z.ZodNullable<z.ZodNumber>;
1552
+ not_assessed: z.ZodNullable<z.ZodNumber>;
1553
+ unknown: z.ZodNullable<z.ZodNumber>;
1554
+ truncated: z.ZodBoolean;
1555
+ }, z.core.$strict>>>;
1556
+ data: z.ZodArray<z.ZodObject<{
1557
+ listing: z.ZodLazy<z.ZodObject<{
1558
+ id: z.ZodString;
1559
+ episode_id: z.ZodString;
1560
+ revision: z.ZodString;
1561
+ property_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1562
+ source_identities: z.ZodArray<z.ZodObject<{
1563
+ source: z.ZodString;
1564
+ key: z.ZodString;
1565
+ }, z.core.$strict>>;
1566
+ market_status: z.ZodEnum<{
1567
+ pending: "pending";
1568
+ unknown: "unknown";
1569
+ expired: "expired";
1570
+ active: "active";
1571
+ active_under_contract: "active_under_contract";
1572
+ sold: "sold";
1573
+ withdrawn: "withdrawn";
1574
+ }>;
1575
+ source_availability: z.ZodEnum<{
1576
+ present: "present";
1577
+ removed_unknown: "removed_unknown";
1578
+ }>;
1579
+ display_eligibility: z.ZodBoolean;
1580
+ price: z.ZodNullable<z.ZodObject<{
1581
+ amount: z.ZodString;
1582
+ currency: z.ZodString;
1583
+ period: z.ZodNullable<z.ZodString>;
1584
+ }, z.core.$strict>>;
1585
+ transaction_type: z.ZodOptional<z.ZodEnum<{
1586
+ unknown: "unknown";
1587
+ conflicting: "conflicting";
1588
+ for_sale: "for_sale";
1589
+ for_rent: "for_rent";
1590
+ }>>;
1591
+ price_period_state: z.ZodOptional<z.ZodEnum<{
1592
+ unknown: "unknown";
1593
+ supported: "supported";
1594
+ not_stated: "not_stated";
1595
+ conflicting: "conflicting";
1596
+ }>>;
1597
+ address: z.ZodObject<{
1598
+ street: z.ZodNullable<z.ZodString>;
1599
+ unit: z.ZodNullable<z.ZodString>;
1600
+ city: z.ZodNullable<z.ZodString>;
1601
+ region: z.ZodNullable<z.ZodString>;
1602
+ postal_code: z.ZodNullable<z.ZodString>;
1603
+ country: z.ZodNullable<z.ZodString>;
1604
+ }, z.core.$strict>;
1605
+ listing_agent_ids: z.ZodArray<z.ZodString>;
1606
+ description: z.ZodNullable<z.ZodString>;
1607
+ photos: z.ZodArray<z.ZodString>;
1608
+ photo_count: z.ZodOptional<z.ZodNumber>;
1609
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
1610
+ url: z.ZodURL;
1611
+ order: z.ZodNumber;
1612
+ caption: z.ZodNullable<z.ZodString>;
1613
+ width: z.ZodNullable<z.ZodNumber>;
1614
+ height: z.ZodNullable<z.ZodNumber>;
1615
+ modified_at: z.ZodNullable<z.ZodISODateTime>;
1616
+ delivery: z.ZodEnum<{
1617
+ source_url: "source_url";
1618
+ hosted: "hosted";
1619
+ }>;
1620
+ renditions: z.ZodOptional<z.ZodObject<{
1621
+ thumbnail: z.ZodObject<{
1622
+ url: z.ZodURL;
1623
+ max_width: z.ZodNumber;
1624
+ max_height: z.ZodNumber;
1625
+ }, z.core.$strict>;
1626
+ map: z.ZodObject<{
1627
+ url: z.ZodURL;
1628
+ max_width: z.ZodNumber;
1629
+ max_height: z.ZodNumber;
1630
+ }, z.core.$strict>;
1631
+ card: z.ZodObject<{
1632
+ url: z.ZodURL;
1633
+ max_width: z.ZodNumber;
1634
+ max_height: z.ZodNumber;
1635
+ }, z.core.$strict>;
1636
+ gallery: z.ZodObject<{
1637
+ url: z.ZodURL;
1638
+ max_width: z.ZodNumber;
1639
+ max_height: z.ZodNumber;
1640
+ }, z.core.$strict>;
1641
+ }, z.core.$strict>>;
1642
+ }, z.core.$strict>>>;
1643
+ attribution: z.ZodOptional<z.ZodObject<{
1644
+ agent_name: z.ZodNullable<z.ZodString>;
1645
+ agent_license: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1646
+ office_name: z.ZodNullable<z.ZodString>;
1647
+ office_key: z.ZodNullable<z.ZodString>;
1648
+ office_phone: z.ZodNullable<z.ZodString>;
1649
+ office_website: z.ZodNullable<z.ZodURL>;
1650
+ broker_name: z.ZodNullable<z.ZodString>;
1651
+ broker_phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1652
+ originating_system: z.ZodNullable<z.ZodString>;
1653
+ }, z.core.$strict>>;
1654
+ property_details: z.ZodOptional<z.ZodObject<{
1655
+ category: z.ZodNullable<z.ZodString>;
1656
+ sub_type: z.ZodNullable<z.ZodString>;
1657
+ bathrooms_full: z.ZodNullable<z.ZodNumber>;
1658
+ bathrooms_half: z.ZodNullable<z.ZodNumber>;
1659
+ bathrooms_one_quarter: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1660
+ bathrooms_three_quarter: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1661
+ stories: z.ZodNullable<z.ZodNumber>;
1662
+ garage_spaces: z.ZodNullable<z.ZodNumber>;
1663
+ parking_total: z.ZodNullable<z.ZodNumber>;
1664
+ county: z.ZodNullable<z.ZodString>;
1665
+ subdivision: z.ZodNullable<z.ZodString>;
1666
+ features: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
1667
+ source_flags: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
1668
+ AssociationYN: "AssociationYN";
1669
+ AttachedGarageYN: "AttachedGarageYN";
1670
+ BasementYN: "BasementYN";
1671
+ CarportYN: "CarportYN";
1672
+ CoolingYN: "CoolingYN";
1673
+ ElectricOnPropertyYN: "ElectricOnPropertyYN";
1674
+ FireplaceYN: "FireplaceYN";
1675
+ GarageYN: "GarageYN";
1676
+ HeatingYN: "HeatingYN";
1677
+ NewConstructionYN: "NewConstructionYN";
1678
+ PoolPrivateYN: "PoolPrivateYN";
1679
+ SpaYN: "SpaYN";
1680
+ WaterfrontYN: "WaterfrontYN";
1681
+ AccessibleElevatorInstalled: "AccessibleElevatorInstalled";
1682
+ Dock: "Dock";
1683
+ }> & z.core.$partial, z.ZodBoolean>>;
1684
+ association_fees: z.ZodOptional<z.ZodArray<z.ZodObject<{
1685
+ kind: z.ZodEnum<{
1686
+ association: "association";
1687
+ association_secondary: "association_secondary";
1688
+ }>;
1689
+ amount: z.ZodNullable<z.ZodString>;
1690
+ amount_state: z.ZodEnum<{
1691
+ unknown: "unknown";
1692
+ supported: "supported";
1693
+ not_stated: "not_stated";
1694
+ }>;
1695
+ currency: z.ZodNullable<z.ZodString>;
1696
+ currency_source: z.ZodNullable<z.ZodEnum<{
1697
+ field: "field";
1698
+ source_default: "source_default";
1699
+ }>>;
1700
+ currency_state: z.ZodEnum<{
1701
+ unknown: "unknown";
1702
+ supported: "supported";
1703
+ not_stated: "not_stated";
1704
+ }>;
1705
+ period: z.ZodNullable<z.ZodEnum<{
1706
+ year: "year";
1707
+ day: "day";
1708
+ week: "week";
1709
+ month: "month";
1710
+ quarter: "quarter";
1711
+ half_year: "half_year";
1712
+ one_time: "one_time";
1713
+ }>>;
1714
+ period_state: z.ZodEnum<{
1715
+ unknown: "unknown";
1716
+ supported: "supported";
1717
+ not_stated: "not_stated";
1718
+ }>;
1719
+ source_paths: z.ZodArray<z.ZodString>;
1720
+ }, z.core.$strict>>>;
1721
+ rooms: z.ZodOptional<z.ZodArray<z.ZodObject<{
1722
+ type: z.ZodNullable<z.ZodString>;
1723
+ level: z.ZodNullable<z.ZodString>;
1724
+ features: z.ZodArray<z.ZodString>;
1725
+ dimensions: z.ZodNullable<z.ZodString>;
1726
+ length: z.ZodNullable<z.ZodNumber>;
1727
+ width: z.ZodNullable<z.ZodNumber>;
1728
+ unit: z.ZodNullable<z.ZodString>;
1729
+ source_paths: z.ZodArray<z.ZodString>;
1730
+ }, z.core.$strict>>>;
1731
+ year_built_effective: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1732
+ units_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1733
+ entry_level: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1734
+ }, z.core.$strict>>;
1735
+ raw_status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1736
+ property_type: z.ZodNullable<z.ZodString>;
1737
+ bedrooms: z.ZodNullable<z.ZodNumber>;
1738
+ bathrooms: z.ZodNullable<z.ZodNumber>;
1739
+ living_area: z.ZodNullable<z.ZodNumber>;
1740
+ living_area_unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1741
+ lot_size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1742
+ lot_size_unit: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1743
+ year_built: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1744
+ latitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1745
+ longitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1746
+ location: z.ZodOptional<z.ZodObject<{
1747
+ state: z.ZodEnum<{
1748
+ source: "source";
1749
+ pending: "pending";
1750
+ resolved: "resolved";
1751
+ coarse: "coarse";
1752
+ unavailable: "unavailable";
1753
+ stale: "stale";
1754
+ suppressed: "suppressed";
1755
+ }>;
1756
+ origin: z.ZodNullable<z.ZodEnum<{
1757
+ source: "source";
1758
+ geocoded: "geocoded";
1759
+ }>>;
1760
+ precision: z.ZodEnum<{
1761
+ source_unknown: "source_unknown";
1762
+ parcel: "parcel";
1763
+ street: "street";
1764
+ area: "area";
1765
+ unknown: "unknown";
1766
+ }>;
1767
+ map_eligible: z.ZodBoolean;
1768
+ coordinates: z.ZodNullable<z.ZodObject<{
1769
+ latitude: z.ZodNumber;
1770
+ longitude: z.ZodNumber;
1771
+ }, z.core.$strip>>;
1772
+ accuracy_score: z.ZodNullable<z.ZodNumber>;
1773
+ accuracy_type: z.ZodNullable<z.ZodString>;
1774
+ match_type: z.ZodNullable<z.ZodString>;
1775
+ provider: z.ZodNullable<z.ZodString>;
1776
+ provider_version: z.ZodNullable<z.ZodString>;
1777
+ policy_version: z.ZodString;
1778
+ source: z.ZodNullable<z.ZodString>;
1779
+ resolved_at: z.ZodNullable<z.ZodISODateTime>;
1780
+ valid_until: z.ZodNullable<z.ZodISODateTime>;
1781
+ country_code: z.ZodNullable<z.ZodString>;
1782
+ region_code: z.ZodNullable<z.ZodString>;
1783
+ timezone: z.ZodNullable<z.ZodString>;
1784
+ enrichment: z.ZodNullable<z.ZodObject<{
1785
+ provider: z.ZodString;
1786
+ provider_version: z.ZodString;
1787
+ resolved_at: z.ZodISODateTime;
1788
+ valid_until: z.ZodISODateTime;
1789
+ fields: z.ZodArray<z.ZodEnum<{
1790
+ timezone: "timezone";
1791
+ census2025: "census2025";
1792
+ }>>;
1793
+ }, z.core.$strip>>;
1794
+ geography: z.ZodNullable<z.ZodObject<{
1795
+ census_year: z.ZodNumber;
1796
+ state_fips: z.ZodNullable<z.ZodString>;
1797
+ county_fips: z.ZodNullable<z.ZodString>;
1798
+ tract_geoid: z.ZodNullable<z.ZodString>;
1799
+ block_geoid: z.ZodNullable<z.ZodString>;
1800
+ place_fips: z.ZodNullable<z.ZodString>;
1801
+ cbsa_code: z.ZodNullable<z.ZodString>;
1802
+ source: z.ZodNullable<z.ZodString>;
1803
+ }, z.core.$strip>>;
1804
+ issue: z.ZodNullable<z.ZodEnum<{
1805
+ pending: "pending";
1806
+ invalid_source_point: "invalid_source_point";
1807
+ insufficient_address: "insufficient_address";
1808
+ unsupported_country: "unsupported_country";
1809
+ no_match: "no_match";
1810
+ low_quality: "low_quality";
1811
+ provider_failure: "provider_failure";
1812
+ expired: "expired";
1813
+ display_restricted: "display_restricted";
1814
+ }>>;
1815
+ }, z.core.$strip>>;
1816
+ mls_number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1817
+ source_url: z.ZodNullable<z.ZodString>;
1818
+ listed_date: z.ZodNullable<z.ZodString>;
1819
+ listed_precision: z.ZodEnum<{
1820
+ unknown: "unknown";
1821
+ date: "date";
1822
+ instant: "instant";
1823
+ }>;
1824
+ open_houses: z.ZodArray<z.ZodObject<{
1825
+ id: z.ZodString;
1826
+ start_at: z.ZodString;
1827
+ end_at: z.ZodNullable<z.ZodString>;
1828
+ timezone: z.ZodNullable<z.ZodString>;
1829
+ status: z.ZodEnum<{
1830
+ scheduled: "scheduled";
1831
+ cancelled: "cancelled";
1832
+ }>;
1833
+ }, z.core.$strict>>;
1834
+ classifications: z.ZodArray<z.ZodObject<{
1835
+ attribute: z.ZodString;
1836
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber, z.ZodNull]>;
1837
+ evidence_state: z.ZodEnum<{
1838
+ supported: "supported";
1839
+ not_stated: "not_stated";
1840
+ conflicting: "conflicting";
1841
+ explicitly_absent: "explicitly_absent";
1842
+ }>;
1843
+ origin: z.ZodEnum<{
1844
+ source_structured: "source_structured";
1845
+ source_text_interpreted: "source_text_interpreted";
1846
+ }>;
1847
+ evidence_refs: z.ZodArray<z.ZodString>;
1848
+ input_fingerprint: z.ZodString;
1849
+ taxonomy_version: z.ZodString;
1850
+ evaluation_id: z.ZodString;
1851
+ freshness: z.ZodEnum<{
1852
+ pending: "pending";
1853
+ current: "current";
1854
+ invalidated: "invalidated";
1855
+ failed: "failed";
1856
+ }>;
1857
+ }, z.core.$strict>>;
1858
+ display: z.ZodObject<{
1859
+ address_allowed: z.ZodBoolean;
1860
+ disclaimer: z.ZodNullable<z.ZodString>;
1861
+ }, z.core.$strict>;
1862
+ freshness: z.ZodObject<{
1863
+ last_seen_at: z.ZodISODateTime;
1864
+ published_at: z.ZodISODateTime;
1865
+ source_modified_at: z.ZodNullable<z.ZodISODateTime>;
1866
+ }, z.core.$strict>;
1867
+ source_amenities: z.ZodOptional<z.ZodObject<{
1868
+ version: z.ZodLiteral<"source-amenities-v1">;
1869
+ values: z.ZodRecord<z.ZodEnum<{
1870
+ hardwood: "hardwood";
1871
+ solar: "solar";
1872
+ ev_charger: "ev_charger";
1873
+ rv_parking: "rv_parking";
1874
+ view: "view";
1875
+ }>, z.ZodObject<{
1876
+ value: z.ZodNullable<z.ZodBoolean>;
1877
+ state: z.ZodEnum<{
1878
+ supported: "supported";
1879
+ not_stated: "not_stated";
1880
+ conflicting: "conflicting";
1881
+ }>;
1882
+ source_paths: z.ZodArray<z.ZodString>;
1883
+ }, z.core.$strict>>;
1884
+ }, z.core.$strict>>;
1885
+ search_document: z.ZodOptional<z.ZodObject<{
1886
+ version: z.ZodLiteral<"catalog-search-text-v1">;
1887
+ text: z.ZodString;
1888
+ }, z.core.$strict>>;
1889
+ content_hash: z.ZodOptional<z.ZodString>;
1890
+ source_fields: z.ZodOptional<z.ZodObject<{
1891
+ listhub: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
1892
+ }, z.core.$strict>>;
1893
+ source_metadata: z.ZodOptional<z.ZodObject<{
1894
+ contract_version: z.ZodLiteral<"catalog-fields-v2">;
1895
+ parser_version: z.ZodString;
1896
+ exposure_version: z.ZodString;
1897
+ source_system_id: z.ZodNullable<z.ZodString>;
1898
+ source_system_name: z.ZodNullable<z.ZodString>;
1899
+ originating_system_name: z.ZodNullable<z.ZodString>;
1900
+ source_photo_count: z.ZodNullable<z.ZodNumber>;
1901
+ supplied_paths: z.ZodArray<z.ZodString>;
1902
+ }, z.core.$strict>>;
1903
+ market_dates: z.ZodOptional<z.ZodObject<{
1904
+ listing_contract: z.ZodObject<{
1905
+ value: z.ZodNullable<z.ZodString>;
1906
+ precision: z.ZodEnum<{
1907
+ unknown: "unknown";
1908
+ date: "date";
1909
+ instant: "instant";
1910
+ }>;
1911
+ }, z.core.$strict>;
1912
+ on_market: z.ZodObject<{
1913
+ value: z.ZodNullable<z.ZodString>;
1914
+ precision: z.ZodEnum<{
1915
+ unknown: "unknown";
1916
+ date: "date";
1917
+ instant: "instant";
1918
+ }>;
1919
+ }, z.core.$strict>;
1920
+ source_days_on_market: z.ZodNullable<z.ZodNumber>;
1921
+ source_cumulative_days_on_market: z.ZodNullable<z.ZodNumber>;
1922
+ }, z.core.$strict>>;
1923
+ taxes: z.ZodOptional<z.ZodObject<{
1924
+ annual_amount: z.ZodNullable<z.ZodString>;
1925
+ currency: z.ZodNullable<z.ZodString>;
1926
+ year: z.ZodNullable<z.ZodNumber>;
1927
+ }, z.core.$strict>>;
1928
+ schools: z.ZodOptional<z.ZodArray<z.ZodObject<{
1929
+ level: z.ZodEnum<{
1930
+ elementary: "elementary";
1931
+ middle: "middle";
1932
+ high: "high";
1933
+ }>;
1934
+ name: z.ZodNullable<z.ZodString>;
1935
+ district: z.ZodNullable<z.ZodString>;
1936
+ }, z.core.$strict>>>;
1937
+ price_history: z.ZodOptional<z.ZodObject<{
1938
+ original_amount: z.ZodNullable<z.ZodString>;
1939
+ previous_amount: z.ZodNullable<z.ZodString>;
1940
+ low_amount: z.ZodNullable<z.ZodString>;
1941
+ currency: z.ZodNullable<z.ZodString>;
1942
+ original_currency: z.ZodNullable<z.ZodString>;
1943
+ previous_currency: z.ZodNullable<z.ZodString>;
1944
+ low_currency: z.ZodNullable<z.ZodString>;
1945
+ changed_at: z.ZodObject<{
1946
+ value: z.ZodNullable<z.ZodString>;
1947
+ precision: z.ZodEnum<{
1948
+ unknown: "unknown";
1949
+ date: "date";
1950
+ instant: "instant";
1951
+ }>;
1952
+ }, z.core.$strict>;
1953
+ }, z.core.$strict>>;
1954
+ virtual_tours: z.ZodOptional<z.ZodObject<{
1955
+ branded_url: z.ZodNullable<z.ZodURL>;
1956
+ unbranded_url: z.ZodNullable<z.ZodURL>;
1957
+ }, z.core.$strict>>;
1958
+ additional_media: z.ZodOptional<z.ZodArray<z.ZodObject<{
1959
+ url: z.ZodURL;
1960
+ categories: z.ZodArray<z.ZodString>;
1961
+ order: z.ZodNumber;
1962
+ caption: z.ZodNullable<z.ZodString>;
1963
+ }, z.core.$strict>>>;
1964
+ professionals: z.ZodOptional<z.ZodObject<{
1965
+ agent: z.ZodObject<{
1966
+ full_name: z.ZodNullable<z.ZodString>;
1967
+ first_name: z.ZodNullable<z.ZodString>;
1968
+ last_name: z.ZodNullable<z.ZodString>;
1969
+ license: z.ZodNullable<z.ZodString>;
1970
+ }, z.core.$strict>;
1971
+ office: z.ZodObject<{
1972
+ key: z.ZodNullable<z.ZodString>;
1973
+ mls_id: z.ZodNullable<z.ZodString>;
1974
+ name: z.ZodNullable<z.ZodString>;
1975
+ broker_mls_id: z.ZodNullable<z.ZodString>;
1976
+ corporate_id: z.ZodNullable<z.ZodString>;
1977
+ main_office_id: z.ZodNullable<z.ZodString>;
1978
+ website_url: z.ZodNullable<z.ZodURL>;
1979
+ address: z.ZodObject<{
1980
+ street: z.ZodNullable<z.ZodString>;
1981
+ unit: z.ZodNullable<z.ZodString>;
1982
+ city: z.ZodNullable<z.ZodString>;
1983
+ region: z.ZodNullable<z.ZodString>;
1984
+ postal_code: z.ZodNullable<z.ZodString>;
1985
+ country: z.ZodNullable<z.ZodString>;
1986
+ }, z.core.$strict>;
1987
+ }, z.core.$strict>;
1988
+ brokerage: z.ZodObject<{
1989
+ name: z.ZodNullable<z.ZodString>;
1990
+ website_url: z.ZodNullable<z.ZodURL>;
1991
+ logo_url: z.ZodNullable<z.ZodURL>;
1992
+ address: z.ZodObject<{
1993
+ street: z.ZodNullable<z.ZodString>;
1994
+ unit: z.ZodNullable<z.ZodString>;
1995
+ city: z.ZodNullable<z.ZodString>;
1996
+ region: z.ZodNullable<z.ZodString>;
1997
+ postal_code: z.ZodNullable<z.ZodString>;
1998
+ country: z.ZodNullable<z.ZodString>;
1999
+ }, z.core.$strict>;
2000
+ }, z.core.$strict>;
2001
+ builder: z.ZodObject<{
2002
+ name: z.ZodNullable<z.ZodString>;
2003
+ }, z.core.$strict>;
2004
+ franchise: z.ZodNullable<z.ZodString>;
2005
+ }, z.core.$strict>>;
2006
+ permissions: z.ZodOptional<z.ZodObject<{
2007
+ internet_display: z.ZodNullable<z.ZodBoolean>;
2008
+ entire_listing_display: z.ZodNullable<z.ZodBoolean>;
2009
+ address_display: z.ZodNullable<z.ZodBoolean>;
2010
+ automated_valuation_display: z.ZodNullable<z.ZodBoolean>;
2011
+ consumer_comment: z.ZodNullable<z.ZodBoolean>;
2012
+ }, z.core.$strict>>;
2013
+ }, z.core.$strict>>;
2014
+ matched_because: z.ZodArray<z.ZodObject<{
2015
+ feature: z.ZodString;
2016
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
2017
+ origin: z.ZodEnum<{
2018
+ source_structured: "source_structured";
2019
+ source_text_interpreted: "source_text_interpreted";
2020
+ }>;
2021
+ evidence_refs: z.ZodArray<z.ZodString>;
2022
+ }, z.core.$strict>>;
2023
+ }, z.core.$strict>>;
2024
+ next_cursor: z.ZodNullable<z.ZodString>;
2025
+ has_more: z.ZodBoolean;
2026
+ meta: z.ZodObject<{
2027
+ backend: z.ZodEnum<{
2028
+ typesense: "typesense";
2029
+ postgres: "postgres";
2030
+ }>;
2031
+ consistency: z.ZodEnum<{
2032
+ degraded: "degraded";
2033
+ current_index: "current_index";
2034
+ completed_snapshot: "completed_snapshot";
2035
+ }>;
2036
+ generation: z.ZodString;
2037
+ checkpoint: z.ZodString;
2038
+ query_hash: z.ZodString;
2039
+ checked_at: z.ZodISODateTime;
2040
+ inventory: z.ZodOptional<z.ZodObject<{
2041
+ state: z.ZodEnum<{
2042
+ partial: "partial";
2043
+ complete: "complete";
2044
+ }>;
2045
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
2046
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
2047
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
2048
+ valid_until: z.ZodISODateTime;
2049
+ }, z.core.$strict>>;
2050
+ snapshot: z.ZodOptional<z.ZodObject<{
2051
+ published_through_at: z.ZodISODateTime;
2052
+ max_lag_seconds: z.ZodNumber;
2053
+ updates_pending: z.ZodBoolean;
2054
+ excluded_count: z.ZodNumber;
2055
+ }, z.core.$strict>>;
2056
+ total: z.ZodNullable<z.ZodNumber>;
2057
+ total_relation: z.ZodEnum<{
2058
+ unavailable: "unavailable";
2059
+ exact: "exact";
2060
+ }>;
2061
+ search_time_ms: z.ZodNumber;
2062
+ timings: z.ZodOptional<z.ZodObject<{
2063
+ authorization_ms: z.ZodNumber;
2064
+ provider_ms: z.ZodNumber;
2065
+ hydration_ms: z.ZodNumber;
2066
+ total_ms: z.ZodNumber;
2067
+ }, z.core.$strict>>;
2068
+ warnings: z.ZodArray<z.ZodString>;
2069
+ }, z.core.$strict>;
2070
+ }, z.core.$strict>;
2071
+ };
2072
+ readonly searchFacets: {
2073
+ readonly input: z.ZodObject<{
2074
+ query: z.ZodObject<{
2075
+ dataset_id: z.ZodOptional<z.ZodString>;
2076
+ q: z.ZodDefault<z.ZodString>;
2077
+ filters: z.ZodPrefault<z.ZodObject<{
2078
+ transaction_type: z.ZodOptional<z.ZodEnum<{
2079
+ for_sale: "for_sale";
2080
+ for_rent: "for_rent";
2081
+ }>>;
2082
+ currency: z.ZodOptional<z.ZodString>;
2083
+ price_period: z.ZodOptional<z.ZodString>;
2084
+ price: z.ZodOptional<z.ZodObject<{
2085
+ min: z.ZodOptional<z.ZodString>;
2086
+ max: z.ZodOptional<z.ZodString>;
2087
+ }, z.core.$strict>>;
2088
+ bedrooms: z.ZodOptional<z.ZodObject<{
2089
+ min: z.ZodOptional<z.ZodNumber>;
2090
+ max: z.ZodOptional<z.ZodNumber>;
2091
+ }, z.core.$strict>>;
2092
+ bathrooms: z.ZodOptional<z.ZodObject<{
2093
+ min: z.ZodOptional<z.ZodNumber>;
2094
+ max: z.ZodOptional<z.ZodNumber>;
2095
+ }, z.core.$strict>>;
2096
+ living_area: z.ZodOptional<z.ZodObject<{
2097
+ min: z.ZodOptional<z.ZodNumber>;
2098
+ max: z.ZodOptional<z.ZodNumber>;
2099
+ }, z.core.$strict>>;
2100
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
2101
+ sqft: "sqft";
2102
+ sqm: "sqm";
2103
+ }>>;
2104
+ city: z.ZodOptional<z.ZodString>;
2105
+ region: z.ZodOptional<z.ZodString>;
2106
+ postal_code: z.ZodOptional<z.ZodString>;
2107
+ property_type: z.ZodOptional<z.ZodString>;
2108
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
2109
+ feature: z.ZodString;
2110
+ operator: z.ZodDefault<z.ZodEnum<{
2111
+ in: "in";
2112
+ eq: "eq";
2113
+ neq: "neq";
2114
+ not_in: "not_in";
2115
+ gt: "gt";
2116
+ gte: "gte";
2117
+ lt: "lt";
2118
+ lte: "lte";
2119
+ }>>;
2120
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2121
+ }, z.core.$strict>>>;
2122
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
2123
+ feature: z.ZodString;
2124
+ operator: z.ZodDefault<z.ZodEnum<{
2125
+ in: "in";
2126
+ eq: "eq";
2127
+ neq: "neq";
2128
+ not_in: "not_in";
2129
+ gt: "gt";
2130
+ gte: "gte";
2131
+ lt: "lt";
2132
+ lte: "lte";
2133
+ }>>;
2134
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2135
+ }, z.core.$strict>>>;
2136
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
2137
+ feature: z.ZodString;
2138
+ operator: z.ZodDefault<z.ZodEnum<{
2139
+ in: "in";
2140
+ eq: "eq";
2141
+ neq: "neq";
2142
+ not_in: "not_in";
2143
+ gt: "gt";
2144
+ gte: "gte";
2145
+ lt: "lt";
2146
+ lte: "lte";
2147
+ }>>;
2148
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2149
+ }, z.core.$strict>>>;
2150
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
2151
+ feature: z.ZodString;
2152
+ operator: z.ZodDefault<z.ZodEnum<{
2153
+ in: "in";
2154
+ eq: "eq";
2155
+ neq: "neq";
2156
+ not_in: "not_in";
2157
+ gt: "gt";
2158
+ gte: "gte";
2159
+ lt: "lt";
2160
+ lte: "lte";
2161
+ }>>;
2162
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2163
+ }, z.core.$strict>>>;
2164
+ }, z.core.$strict>>;
2165
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2166
+ radius: z.ZodOptional<z.ZodObject<{
2167
+ latitude: z.ZodNumber;
2168
+ longitude: z.ZodNumber;
2169
+ km: z.ZodNumber;
2170
+ }, z.core.$strict>>;
2171
+ sort: z.ZodDefault<z.ZodEnum<{
2172
+ relevance: "relevance";
2173
+ price_asc: "price_asc";
2174
+ price_desc: "price_desc";
2175
+ newest: "newest";
2176
+ }>>;
2177
+ limit: z.ZodDefault<z.ZodNumber>;
2178
+ cursor: z.ZodOptional<z.ZodString>;
2179
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2180
+ facet_limit: z.ZodOptional<z.ZodNumber>;
2181
+ }, z.core.$strict>;
2182
+ fields: z.ZodArray<z.ZodString>;
2183
+ limit: z.ZodDefault<z.ZodNumber>;
2184
+ }, z.core.$strict>;
2185
+ readonly output: z.ZodObject<{
2186
+ facets: z.ZodArray<z.ZodObject<{
2187
+ field: z.ZodString;
2188
+ values: z.ZodArray<z.ZodObject<{
2189
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>;
2190
+ count: z.ZodNumber;
2191
+ }, z.core.$strict>>;
2192
+ assessed: z.ZodNullable<z.ZodNumber>;
2193
+ conflicting: z.ZodNullable<z.ZodNumber>;
2194
+ not_assessed: z.ZodNullable<z.ZodNumber>;
2195
+ unknown: z.ZodNullable<z.ZodNumber>;
2196
+ truncated: z.ZodBoolean;
2197
+ }, z.core.$strict>>;
2198
+ meta: z.ZodObject<{
2199
+ backend: z.ZodEnum<{
2200
+ typesense: "typesense";
2201
+ postgres: "postgres";
2202
+ }>;
2203
+ consistency: z.ZodEnum<{
2204
+ degraded: "degraded";
2205
+ current_index: "current_index";
2206
+ completed_snapshot: "completed_snapshot";
2207
+ }>;
2208
+ generation: z.ZodString;
2209
+ checkpoint: z.ZodString;
2210
+ query_hash: z.ZodString;
2211
+ checked_at: z.ZodISODateTime;
2212
+ inventory: z.ZodOptional<z.ZodObject<{
2213
+ state: z.ZodEnum<{
2214
+ partial: "partial";
2215
+ complete: "complete";
2216
+ }>;
2217
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
2218
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
2219
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
2220
+ valid_until: z.ZodISODateTime;
2221
+ }, z.core.$strict>>;
2222
+ snapshot: z.ZodOptional<z.ZodObject<{
2223
+ published_through_at: z.ZodISODateTime;
2224
+ max_lag_seconds: z.ZodNumber;
2225
+ updates_pending: z.ZodBoolean;
2226
+ excluded_count: z.ZodNumber;
2227
+ }, z.core.$strict>>;
2228
+ total: z.ZodNullable<z.ZodNumber>;
2229
+ total_relation: z.ZodEnum<{
2230
+ unavailable: "unavailable";
2231
+ exact: "exact";
2232
+ }>;
2233
+ search_time_ms: z.ZodNumber;
2234
+ timings: z.ZodOptional<z.ZodObject<{
2235
+ authorization_ms: z.ZodNumber;
2236
+ provider_ms: z.ZodNumber;
2237
+ hydration_ms: z.ZodNumber;
2238
+ total_ms: z.ZodNumber;
2239
+ }, z.core.$strict>>;
2240
+ warnings: z.ZodArray<z.ZodString>;
2241
+ }, z.core.$strict>;
2242
+ }, z.core.$strict>;
2243
+ };
2244
+ readonly searchMap: {
2245
+ readonly input: z.ZodObject<{
2246
+ query: z.ZodObject<{
2247
+ dataset_id: z.ZodOptional<z.ZodString>;
2248
+ q: z.ZodDefault<z.ZodString>;
2249
+ filters: z.ZodPrefault<z.ZodObject<{
2250
+ transaction_type: z.ZodOptional<z.ZodEnum<{
2251
+ for_sale: "for_sale";
2252
+ for_rent: "for_rent";
2253
+ }>>;
2254
+ currency: z.ZodOptional<z.ZodString>;
2255
+ price_period: z.ZodOptional<z.ZodString>;
2256
+ price: z.ZodOptional<z.ZodObject<{
2257
+ min: z.ZodOptional<z.ZodString>;
2258
+ max: z.ZodOptional<z.ZodString>;
2259
+ }, z.core.$strict>>;
2260
+ bedrooms: z.ZodOptional<z.ZodObject<{
2261
+ min: z.ZodOptional<z.ZodNumber>;
2262
+ max: z.ZodOptional<z.ZodNumber>;
2263
+ }, z.core.$strict>>;
2264
+ bathrooms: z.ZodOptional<z.ZodObject<{
2265
+ min: z.ZodOptional<z.ZodNumber>;
2266
+ max: z.ZodOptional<z.ZodNumber>;
2267
+ }, z.core.$strict>>;
2268
+ living_area: z.ZodOptional<z.ZodObject<{
2269
+ min: z.ZodOptional<z.ZodNumber>;
2270
+ max: z.ZodOptional<z.ZodNumber>;
2271
+ }, z.core.$strict>>;
2272
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
2273
+ sqft: "sqft";
2274
+ sqm: "sqm";
2275
+ }>>;
2276
+ city: z.ZodOptional<z.ZodString>;
2277
+ region: z.ZodOptional<z.ZodString>;
2278
+ postal_code: z.ZodOptional<z.ZodString>;
2279
+ property_type: z.ZodOptional<z.ZodString>;
2280
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
2281
+ feature: z.ZodString;
2282
+ operator: z.ZodDefault<z.ZodEnum<{
2283
+ in: "in";
2284
+ eq: "eq";
2285
+ neq: "neq";
2286
+ not_in: "not_in";
2287
+ gt: "gt";
2288
+ gte: "gte";
2289
+ lt: "lt";
2290
+ lte: "lte";
2291
+ }>>;
2292
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2293
+ }, z.core.$strict>>>;
2294
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
2295
+ feature: z.ZodString;
2296
+ operator: z.ZodDefault<z.ZodEnum<{
2297
+ in: "in";
2298
+ eq: "eq";
2299
+ neq: "neq";
2300
+ not_in: "not_in";
2301
+ gt: "gt";
2302
+ gte: "gte";
2303
+ lt: "lt";
2304
+ lte: "lte";
2305
+ }>>;
2306
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2307
+ }, z.core.$strict>>>;
2308
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
2309
+ feature: z.ZodString;
2310
+ operator: z.ZodDefault<z.ZodEnum<{
2311
+ in: "in";
2312
+ eq: "eq";
2313
+ neq: "neq";
2314
+ not_in: "not_in";
2315
+ gt: "gt";
2316
+ gte: "gte";
2317
+ lt: "lt";
2318
+ lte: "lte";
2319
+ }>>;
2320
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2321
+ }, z.core.$strict>>>;
2322
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
2323
+ feature: z.ZodString;
2324
+ operator: z.ZodDefault<z.ZodEnum<{
2325
+ in: "in";
2326
+ eq: "eq";
2327
+ neq: "neq";
2328
+ not_in: "not_in";
2329
+ gt: "gt";
2330
+ gte: "gte";
2331
+ lt: "lt";
2332
+ lte: "lte";
2333
+ }>>;
2334
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2335
+ }, z.core.$strict>>>;
2336
+ }, z.core.$strict>>;
2337
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2338
+ radius: z.ZodOptional<z.ZodObject<{
2339
+ latitude: z.ZodNumber;
2340
+ longitude: z.ZodNumber;
2341
+ km: z.ZodNumber;
2342
+ }, z.core.$strict>>;
2343
+ sort: z.ZodDefault<z.ZodEnum<{
2344
+ relevance: "relevance";
2345
+ price_asc: "price_asc";
2346
+ price_desc: "price_desc";
2347
+ newest: "newest";
2348
+ }>>;
2349
+ limit: z.ZodDefault<z.ZodNumber>;
2350
+ cursor: z.ZodOptional<z.ZodString>;
2351
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2352
+ facet_limit: z.ZodOptional<z.ZodNumber>;
2353
+ }, z.core.$strict>;
2354
+ viewport: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2355
+ zoom: z.ZodDefault<z.ZodNumber>;
2356
+ limit: z.ZodDefault<z.ZodNumber>;
2357
+ }, z.core.$strict>;
2358
+ readonly output: z.ZodObject<{
2359
+ points: z.ZodArray<z.ZodObject<{
2360
+ id: z.ZodString;
2361
+ latitude: z.ZodNumber;
2362
+ longitude: z.ZodNumber;
2363
+ price: z.ZodNullable<z.ZodString>;
2364
+ currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2365
+ price_period: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2366
+ }, z.core.$strict>>;
2367
+ clusters: z.ZodArray<z.ZodObject<{
2368
+ id: z.ZodString;
2369
+ latitude: z.ZodNumber;
2370
+ longitude: z.ZodNumber;
2371
+ count: z.ZodNumber;
2372
+ bounds: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2373
+ }, z.core.$strict>>;
2374
+ truncated: z.ZodBoolean;
2375
+ unmappable: z.ZodNullable<z.ZodNumber>;
2376
+ mode: z.ZodEnum<{
2377
+ points: "points";
2378
+ cells: "cells";
2379
+ }>;
2380
+ coverage: z.ZodEnum<{
2381
+ complete: "complete";
2382
+ bounded: "bounded";
2383
+ }>;
2384
+ counts: z.ZodObject<{
2385
+ matching: z.ZodNumber;
2386
+ mappable: z.ZodNumber;
2387
+ viewport: z.ZodNumber;
2388
+ returned: z.ZodNumber;
2389
+ represented: z.ZodNumber;
2390
+ }, z.core.$strict>;
2391
+ valid_until: z.ZodISODateTime;
2392
+ meta: z.ZodObject<{
2393
+ backend: z.ZodEnum<{
2394
+ typesense: "typesense";
2395
+ postgres: "postgres";
2396
+ }>;
2397
+ consistency: z.ZodEnum<{
2398
+ degraded: "degraded";
2399
+ current_index: "current_index";
2400
+ completed_snapshot: "completed_snapshot";
2401
+ }>;
2402
+ generation: z.ZodString;
2403
+ checkpoint: z.ZodString;
2404
+ query_hash: z.ZodString;
2405
+ checked_at: z.ZodISODateTime;
2406
+ inventory: z.ZodOptional<z.ZodObject<{
2407
+ state: z.ZodEnum<{
2408
+ partial: "partial";
2409
+ complete: "complete";
2410
+ }>;
2411
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
2412
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
2413
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
2414
+ valid_until: z.ZodISODateTime;
2415
+ }, z.core.$strict>>;
2416
+ snapshot: z.ZodOptional<z.ZodObject<{
2417
+ published_through_at: z.ZodISODateTime;
2418
+ max_lag_seconds: z.ZodNumber;
2419
+ updates_pending: z.ZodBoolean;
2420
+ excluded_count: z.ZodNumber;
2421
+ }, z.core.$strict>>;
2422
+ total: z.ZodNullable<z.ZodNumber>;
2423
+ total_relation: z.ZodEnum<{
2424
+ unavailable: "unavailable";
2425
+ exact: "exact";
2426
+ }>;
2427
+ search_time_ms: z.ZodNumber;
2428
+ timings: z.ZodOptional<z.ZodObject<{
2429
+ authorization_ms: z.ZodNumber;
2430
+ provider_ms: z.ZodNumber;
2431
+ hydration_ms: z.ZodNumber;
2432
+ total_ms: z.ZodNumber;
2433
+ }, z.core.$strict>>;
2434
+ warnings: z.ZodArray<z.ZodString>;
2435
+ }, z.core.$strict>;
2436
+ }, z.core.$strict>;
2437
+ };
2438
+ readonly searchSuggest: {
2439
+ readonly input: z.ZodObject<{
2440
+ dataset_id: z.ZodOptional<z.ZodString>;
2441
+ q: z.ZodString;
2442
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2443
+ }, z.core.$strict>;
2444
+ readonly output: z.ZodObject<{
2445
+ suggestions: z.ZodArray<z.ZodObject<{
2446
+ kind: z.ZodEnum<{
2447
+ listing: "listing";
2448
+ feature: "feature";
2449
+ place: "place";
2450
+ }>;
2451
+ label: z.ZodString;
2452
+ value: z.ZodString;
2453
+ feature: z.ZodOptional<z.ZodString>;
2454
+ place: z.ZodOptional<z.ZodObject<{
2455
+ city: z.ZodOptional<z.ZodString>;
2456
+ region: z.ZodOptional<z.ZodString>;
2457
+ postal_code: z.ZodOptional<z.ZodString>;
2458
+ }, z.core.$strict>>;
2459
+ }, z.core.$strict>>;
2460
+ meta: z.ZodObject<{
2461
+ backend: z.ZodEnum<{
2462
+ typesense: "typesense";
2463
+ postgres: "postgres";
2464
+ }>;
2465
+ consistency: z.ZodEnum<{
2466
+ degraded: "degraded";
2467
+ current_index: "current_index";
2468
+ completed_snapshot: "completed_snapshot";
2469
+ }>;
2470
+ generation: z.ZodString;
2471
+ checkpoint: z.ZodString;
2472
+ query_hash: z.ZodString;
2473
+ checked_at: z.ZodISODateTime;
2474
+ inventory: z.ZodOptional<z.ZodObject<{
2475
+ state: z.ZodEnum<{
2476
+ partial: "partial";
2477
+ complete: "complete";
2478
+ }>;
2479
+ source_observed_at: z.ZodNullable<z.ZodISODateTime>;
2480
+ expected_source_records: z.ZodNullable<z.ZodNumber>;
2481
+ processed_source_records: z.ZodNullable<z.ZodNumber>;
2482
+ valid_until: z.ZodISODateTime;
2483
+ }, z.core.$strict>>;
2484
+ snapshot: z.ZodOptional<z.ZodObject<{
2485
+ published_through_at: z.ZodISODateTime;
2486
+ max_lag_seconds: z.ZodNumber;
2487
+ updates_pending: z.ZodBoolean;
2488
+ excluded_count: z.ZodNumber;
2489
+ }, z.core.$strict>>;
2490
+ total: z.ZodNullable<z.ZodNumber>;
2491
+ total_relation: z.ZodEnum<{
2492
+ unavailable: "unavailable";
2493
+ exact: "exact";
2494
+ }>;
2495
+ search_time_ms: z.ZodNumber;
2496
+ timings: z.ZodOptional<z.ZodObject<{
2497
+ authorization_ms: z.ZodNumber;
2498
+ provider_ms: z.ZodNumber;
2499
+ hydration_ms: z.ZodNumber;
2500
+ total_ms: z.ZodNumber;
2501
+ }, z.core.$strict>>;
2502
+ warnings: z.ZodArray<z.ZodString>;
2503
+ }, z.core.$strict>;
2504
+ }, z.core.$strict>;
2505
+ };
2506
+ readonly searchInterpret: {
2507
+ readonly input: z.ZodObject<{
2508
+ dataset_id: z.ZodOptional<z.ZodString>;
2509
+ text: z.ZodString;
2510
+ }, z.core.$strict>;
2511
+ readonly output: z.ZodObject<{
2512
+ query: z.ZodObject<{
2513
+ dataset_id: z.ZodOptional<z.ZodString>;
2514
+ q: z.ZodDefault<z.ZodString>;
2515
+ filters: z.ZodPrefault<z.ZodObject<{
2516
+ transaction_type: z.ZodOptional<z.ZodEnum<{
2517
+ for_sale: "for_sale";
2518
+ for_rent: "for_rent";
2519
+ }>>;
2520
+ currency: z.ZodOptional<z.ZodString>;
2521
+ price_period: z.ZodOptional<z.ZodString>;
2522
+ price: z.ZodOptional<z.ZodObject<{
2523
+ min: z.ZodOptional<z.ZodString>;
2524
+ max: z.ZodOptional<z.ZodString>;
2525
+ }, z.core.$strict>>;
2526
+ bedrooms: z.ZodOptional<z.ZodObject<{
2527
+ min: z.ZodOptional<z.ZodNumber>;
2528
+ max: z.ZodOptional<z.ZodNumber>;
2529
+ }, z.core.$strict>>;
2530
+ bathrooms: z.ZodOptional<z.ZodObject<{
2531
+ min: z.ZodOptional<z.ZodNumber>;
2532
+ max: z.ZodOptional<z.ZodNumber>;
2533
+ }, z.core.$strict>>;
2534
+ living_area: z.ZodOptional<z.ZodObject<{
2535
+ min: z.ZodOptional<z.ZodNumber>;
2536
+ max: z.ZodOptional<z.ZodNumber>;
2537
+ }, z.core.$strict>>;
2538
+ living_area_unit: z.ZodOptional<z.ZodEnum<{
2539
+ sqft: "sqft";
2540
+ sqm: "sqm";
2541
+ }>>;
2542
+ city: z.ZodOptional<z.ZodString>;
2543
+ region: z.ZodOptional<z.ZodString>;
2544
+ postal_code: z.ZodOptional<z.ZodString>;
2545
+ property_type: z.ZodOptional<z.ZodString>;
2546
+ must: z.ZodDefault<z.ZodArray<z.ZodObject<{
2547
+ feature: z.ZodString;
2548
+ operator: z.ZodDefault<z.ZodEnum<{
2549
+ in: "in";
2550
+ eq: "eq";
2551
+ neq: "neq";
2552
+ not_in: "not_in";
2553
+ gt: "gt";
2554
+ gte: "gte";
2555
+ lt: "lt";
2556
+ lte: "lte";
2557
+ }>>;
2558
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2559
+ }, z.core.$strict>>>;
2560
+ any: z.ZodDefault<z.ZodArray<z.ZodObject<{
2561
+ feature: z.ZodString;
2562
+ operator: z.ZodDefault<z.ZodEnum<{
2563
+ in: "in";
2564
+ eq: "eq";
2565
+ neq: "neq";
2566
+ not_in: "not_in";
2567
+ gt: "gt";
2568
+ gte: "gte";
2569
+ lt: "lt";
2570
+ lte: "lte";
2571
+ }>>;
2572
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2573
+ }, z.core.$strict>>>;
2574
+ exclude: z.ZodDefault<z.ZodArray<z.ZodObject<{
2575
+ feature: z.ZodString;
2576
+ operator: z.ZodDefault<z.ZodEnum<{
2577
+ in: "in";
2578
+ eq: "eq";
2579
+ neq: "neq";
2580
+ not_in: "not_in";
2581
+ gt: "gt";
2582
+ gte: "gte";
2583
+ lt: "lt";
2584
+ lte: "lte";
2585
+ }>>;
2586
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2587
+ }, z.core.$strict>>>;
2588
+ prefer: z.ZodDefault<z.ZodArray<z.ZodObject<{
2589
+ feature: z.ZodString;
2590
+ operator: z.ZodDefault<z.ZodEnum<{
2591
+ in: "in";
2592
+ eq: "eq";
2593
+ neq: "neq";
2594
+ not_in: "not_in";
2595
+ gt: "gt";
2596
+ gte: "gte";
2597
+ lt: "lt";
2598
+ lte: "lte";
2599
+ }>>;
2600
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2601
+ }, z.core.$strict>>>;
2602
+ }, z.core.$strict>>;
2603
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2604
+ radius: z.ZodOptional<z.ZodObject<{
2605
+ latitude: z.ZodNumber;
2606
+ longitude: z.ZodNumber;
2607
+ km: z.ZodNumber;
2608
+ }, z.core.$strict>>;
2609
+ sort: z.ZodDefault<z.ZodEnum<{
2610
+ relevance: "relevance";
2611
+ price_asc: "price_asc";
2612
+ price_desc: "price_desc";
2613
+ newest: "newest";
2614
+ }>>;
2615
+ limit: z.ZodDefault<z.ZodNumber>;
2616
+ cursor: z.ZodOptional<z.ZodString>;
2617
+ facet_fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2618
+ facet_limit: z.ZodOptional<z.ZodNumber>;
2619
+ }, z.core.$strict>;
2620
+ chips: z.ZodArray<z.ZodObject<{
2621
+ label: z.ZodString;
2622
+ field: z.ZodString;
2623
+ value: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber]>>]>;
2624
+ }, z.core.$strict>>;
2625
+ unresolved: z.ZodArray<z.ZodString>;
2626
+ requires_confirmation: z.ZodBoolean;
2627
+ method: z.ZodLiteral<"bounded_rules">;
2628
+ }, z.core.$strict>;
2629
+ };
2630
+ };