@land-catalyst/batch-data-sdk 1.1.12
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.
- package/LICENSE +22 -0
- package/README.md +1032 -0
- package/dist/builders.d.ts +821 -0
- package/dist/builders.js +2622 -0
- package/dist/client.d.ts +435 -0
- package/dist/client.interface.d.ts +210 -0
- package/dist/client.interface.js +2 -0
- package/dist/client.js +757 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +19 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +28 -0
- package/dist/logger.interface.d.ts +19 -0
- package/dist/logger.interface.js +47 -0
- package/dist/types.d.ts +1738 -0
- package/dist/types.js +9 -0
- package/package.json +62 -0
|
@@ -0,0 +1,821 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BatchData.io Query Builders
|
|
3
|
+
*
|
|
4
|
+
* Fluent query builder API for constructing BatchData property subscription requests
|
|
5
|
+
*
|
|
6
|
+
* Usage example:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const searchQuery = new SearchCriteriaBuilder("Maricopa County, AZ")
|
|
9
|
+
* .address(new AddressSearchCriteriaBuilder()
|
|
10
|
+
* .city(new StringFilterBuilder().equals("Phoenix").build())
|
|
11
|
+
* .state(new StringFilterBuilder().equals("AZ").build())
|
|
12
|
+
* .build())
|
|
13
|
+
* .building(new BuildingSearchCriteriaBuilder()
|
|
14
|
+
* .yearBuilt(new NumericRangeFilterBuilder().min(1990).max(2020).build())
|
|
15
|
+
* .build())
|
|
16
|
+
* .build();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { StringFilter, NumericRangeFilter, DateRangeFilter, GeoLocationDistance, GeoLocationBoundingBox, GeoLocationPolygon, AddressSearchCriteria, AssessmentSearchCriteria, BuildingSearchCriteria, CompAddressSearchCriteria, DemographicsSearchCriteria, ForeclosureSearchCriteria, GeneralSearchCriteria, IdsSearchCriteria, IntelSearchCriteria, InvoluntaryLienSearchCriteria, LegalSearchCriteria, ListingSearchCriteria, LotSearchCriteria, OpenLienSearchCriteria, OwnerSearchCriteria, PermitSearchCriteria, PropertyOwnerProfileSearchCriteria, SaleSearchCriteria, TaxSearchCriteria, ValuationSearchCriteria, OrSearchCriteria, SearchCriteria, DeliveryConfig, PropertySubscriptionRequest, QuickListValueWithNot, PropertyLookupRequest, PropertyLookupRequestItem, PropertyLookupRequestAddress, PropertyLookupOptions, PropertyPermitRequest, PropertySearchRequest, PropertySearchAsyncRequest, PropertyLookupAsyncRequest, GeoPoint } from "./types";
|
|
20
|
+
/**
|
|
21
|
+
* Base interface for all builders
|
|
22
|
+
*/
|
|
23
|
+
export interface Builder<T> {
|
|
24
|
+
build(): T;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Type helper that represents the expected setter method signature for a single property.
|
|
28
|
+
* This can be used to ensure setter methods have the correct signature.
|
|
29
|
+
*
|
|
30
|
+
* Note: TypeScript cannot enforce that a class implements methods for ALL properties
|
|
31
|
+
* of a type at compile time. This type serves as documentation and can help catch
|
|
32
|
+
* signature mismatches when explicitly typed.
|
|
33
|
+
*/
|
|
34
|
+
export type PropertySetter<T, K extends keyof T> = (value: T[K] | ((builder: Builder<T[K]>) => void)) => Builder<T>;
|
|
35
|
+
/**
|
|
36
|
+
* Type helper that represents the expected builders storage structure.
|
|
37
|
+
* For each property K in T, there should be a Builder<T[K]> instance.
|
|
38
|
+
* This ensures type safety when storing and accessing nested builders.
|
|
39
|
+
*/
|
|
40
|
+
export type BuildersStorage<T> = {
|
|
41
|
+
[K in keyof T]?: Builder<T[K]>;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Abstract base class for builders that store nested builders
|
|
45
|
+
* Handles the common pattern of storing builder instances and building them all at once
|
|
46
|
+
*/
|
|
47
|
+
declare abstract class BaseBuilder<T> implements Builder<T> {
|
|
48
|
+
protected criteria: Partial<T>;
|
|
49
|
+
protected builders: BuildersStorage<T>;
|
|
50
|
+
/**
|
|
51
|
+
* Helper method to set a property either directly or via a builder configurator.
|
|
52
|
+
* This extracts the common pattern of checking if a configurator function is provided,
|
|
53
|
+
* creating/reusing a builder instance, and either calling the configurator or setting
|
|
54
|
+
* the value directly.
|
|
55
|
+
*
|
|
56
|
+
* @param key - The property key to set
|
|
57
|
+
* @param valueOrConfigurator - Either the direct value or a configurator function
|
|
58
|
+
* @param builderFactory - Factory function to create a new builder instance if needed
|
|
59
|
+
* @returns This builder instance for method chaining
|
|
60
|
+
*/
|
|
61
|
+
protected setPropertyWithBuilder<K extends keyof T, B extends Builder<T[K]>>(key: K, valueOrConfigurator: T[K] | ((builder: B) => void), builderFactory: () => B): this;
|
|
62
|
+
/**
|
|
63
|
+
* Helper method that accepts a builder class constructor and infers types from it.
|
|
64
|
+
* This allows you to pass the builder class directly instead of a factory function.
|
|
65
|
+
*
|
|
66
|
+
* @param key - The property key to set
|
|
67
|
+
* @param valueOrConfigurator - Either the direct value or a configurator function
|
|
68
|
+
* @param BuilderClass - The builder class constructor (e.g., NumericRangeFilterBuilder)
|
|
69
|
+
* @returns This builder instance for method chaining
|
|
70
|
+
*/
|
|
71
|
+
protected setPropertyWithBuilderClass<K extends keyof T, B extends Builder<T[K]>>(key: K, valueOrConfigurator: T[K] | ((builder: B) => void), BuilderClass: new () => B): this;
|
|
72
|
+
build(): T;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Base builder for string filters
|
|
76
|
+
*/
|
|
77
|
+
export declare class StringFilterBuilder implements Builder<StringFilter> {
|
|
78
|
+
private filter;
|
|
79
|
+
static from(filter: StringFilter): StringFilterBuilder;
|
|
80
|
+
equals(value: string): this;
|
|
81
|
+
contains(value: string): this;
|
|
82
|
+
startsWith(value: string): this;
|
|
83
|
+
endsWith(value: string): this;
|
|
84
|
+
inList(values: string[]): this;
|
|
85
|
+
notInList(values: string[]): this;
|
|
86
|
+
matches(patterns: string[]): this;
|
|
87
|
+
build(): StringFilter;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Base builder for numeric range filters
|
|
91
|
+
*/
|
|
92
|
+
export declare class NumericRangeFilterBuilder implements Builder<NumericRangeFilter> {
|
|
93
|
+
private filter;
|
|
94
|
+
static from(filter: NumericRangeFilter): NumericRangeFilterBuilder;
|
|
95
|
+
min(value: number): this;
|
|
96
|
+
max(value: number): this;
|
|
97
|
+
range(min: number, max: number): this;
|
|
98
|
+
build(): NumericRangeFilter;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Base builder for date range filters
|
|
102
|
+
*/
|
|
103
|
+
export declare class DateRangeFilterBuilder implements Builder<DateRangeFilter> {
|
|
104
|
+
private filter;
|
|
105
|
+
static from(filter: DateRangeFilter): DateRangeFilterBuilder;
|
|
106
|
+
minDate(date: string): this;
|
|
107
|
+
maxDate(date: string): this;
|
|
108
|
+
range(minDate: string, maxDate: string): this;
|
|
109
|
+
build(): DateRangeFilter;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Helper class for creating geographic location filters
|
|
113
|
+
* This is not a builder in the traditional sense - it's a factory that creates
|
|
114
|
+
* different geo location objects (distance, bounding box, polygon)
|
|
115
|
+
*/
|
|
116
|
+
export declare class GeoLocationFactory {
|
|
117
|
+
/**
|
|
118
|
+
* Create a distance-based filter
|
|
119
|
+
*/
|
|
120
|
+
static distance(latitude: number, longitude: number, options?: {
|
|
121
|
+
meters?: string;
|
|
122
|
+
kilometers?: string;
|
|
123
|
+
feet?: string;
|
|
124
|
+
yards?: string;
|
|
125
|
+
miles?: string;
|
|
126
|
+
}): GeoLocationDistance;
|
|
127
|
+
/**
|
|
128
|
+
* Create a bounding box filter
|
|
129
|
+
*/
|
|
130
|
+
static boundingBox(nwLatitude: number, nwLongitude: number, seLatitude: number, seLongitude: number): GeoLocationBoundingBox;
|
|
131
|
+
/**
|
|
132
|
+
* Create a polygon filter
|
|
133
|
+
*/
|
|
134
|
+
static polygon(points: Array<{
|
|
135
|
+
latitude: number;
|
|
136
|
+
longitude: number;
|
|
137
|
+
}>): GeoLocationPolygon;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Builder for address search criteria
|
|
141
|
+
*/
|
|
142
|
+
export declare class AddressSearchCriteriaBuilder extends BaseBuilder<AddressSearchCriteria> {
|
|
143
|
+
protected criteria: AddressSearchCriteria;
|
|
144
|
+
static from(criteria: AddressSearchCriteria): AddressSearchCriteriaBuilder;
|
|
145
|
+
street(filter: StringFilter): this;
|
|
146
|
+
street(configurator: (builder: StringFilterBuilder) => void): this;
|
|
147
|
+
city(filter: StringFilter): this;
|
|
148
|
+
city(configurator: (builder: StringFilterBuilder) => void): this;
|
|
149
|
+
locality(filter: StringFilter): this;
|
|
150
|
+
locality(configurator: (builder: StringFilterBuilder) => void): this;
|
|
151
|
+
county(filter: StringFilter): this;
|
|
152
|
+
county(configurator: (builder: StringFilterBuilder) => void): this;
|
|
153
|
+
countyFipsCode(filter: StringFilter): this;
|
|
154
|
+
countyFipsCode(configurator: (builder: StringFilterBuilder) => void): this;
|
|
155
|
+
state(filter: StringFilter): this;
|
|
156
|
+
state(configurator: (builder: StringFilterBuilder) => void): this;
|
|
157
|
+
zip(filter: StringFilter): this;
|
|
158
|
+
zip(configurator: (builder: StringFilterBuilder) => void): this;
|
|
159
|
+
unitType(filter: StringFilter): this;
|
|
160
|
+
unitType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
161
|
+
formattedStreet(filter: StringFilter): this;
|
|
162
|
+
formattedStreet(configurator: (builder: StringFilterBuilder) => void): this;
|
|
163
|
+
streetNoUnit(filter: StringFilter): this;
|
|
164
|
+
streetNoUnit(configurator: (builder: StringFilterBuilder) => void): this;
|
|
165
|
+
geoLocationDistance(latitude: number, longitude: number, options?: {
|
|
166
|
+
meters?: string;
|
|
167
|
+
kilometers?: string;
|
|
168
|
+
feet?: string;
|
|
169
|
+
yards?: string;
|
|
170
|
+
miles?: string;
|
|
171
|
+
}): this;
|
|
172
|
+
geoLocationBoundingBox(nwLatitude: number, nwLongitude: number, seLatitude: number, seLongitude: number): this;
|
|
173
|
+
geoLocationPolygon(points: Array<{
|
|
174
|
+
latitude: number;
|
|
175
|
+
longitude: number;
|
|
176
|
+
}>): this;
|
|
177
|
+
initialGeoStatus(filter: StringFilter): this;
|
|
178
|
+
initialGeoStatus(configurator: (builder: StringFilterBuilder) => void): this;
|
|
179
|
+
geoStatus(filter: StringFilter): this;
|
|
180
|
+
geoStatus(configurator: (builder: StringFilterBuilder) => void): this;
|
|
181
|
+
cityState(filter: StringFilter): this;
|
|
182
|
+
cityState(configurator: (builder: StringFilterBuilder) => void): this;
|
|
183
|
+
countyState(filter: StringFilter): this;
|
|
184
|
+
countyState(configurator: (builder: StringFilterBuilder) => void): this;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Builder for assessment search criteria
|
|
188
|
+
*/
|
|
189
|
+
export declare class AssessmentSearchCriteriaBuilder extends BaseBuilder<AssessmentSearchCriteria> {
|
|
190
|
+
protected criteria: AssessmentSearchCriteria;
|
|
191
|
+
static from(criteria: AssessmentSearchCriteria): AssessmentSearchCriteriaBuilder;
|
|
192
|
+
assessmentYear(filter: NumericRangeFilter): this;
|
|
193
|
+
assessmentYear(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
194
|
+
totalAssessedValue(filter: NumericRangeFilter): this;
|
|
195
|
+
totalAssessedValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
196
|
+
assessedImprovementValue(filter: NumericRangeFilter): this;
|
|
197
|
+
assessedImprovementValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
198
|
+
assessedLandValue(filter: NumericRangeFilter): this;
|
|
199
|
+
assessedLandValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
200
|
+
marketValueYear(filter: NumericRangeFilter): this;
|
|
201
|
+
marketValueYear(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
202
|
+
landMarketValue(filter: NumericRangeFilter): this;
|
|
203
|
+
landMarketValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
204
|
+
improvementMarketValue(filter: NumericRangeFilter): this;
|
|
205
|
+
improvementMarketValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
206
|
+
totalMarketValue(filter: NumericRangeFilter): this;
|
|
207
|
+
totalMarketValue(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Builder for building search criteria
|
|
211
|
+
*/
|
|
212
|
+
export declare class BuildingSearchCriteriaBuilder extends BaseBuilder<BuildingSearchCriteria> {
|
|
213
|
+
protected criteria: BuildingSearchCriteria;
|
|
214
|
+
static from(criteria: BuildingSearchCriteria): BuildingSearchCriteriaBuilder;
|
|
215
|
+
airConditioningSource(filter: StringFilter): this;
|
|
216
|
+
airConditioningSource(configurator: (builder: StringFilterBuilder) => void): this;
|
|
217
|
+
basementType(filter: StringFilter): this;
|
|
218
|
+
basementType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
219
|
+
totalBuildingAreaSquareFeet(filter: NumericRangeFilter): this;
|
|
220
|
+
totalBuildingAreaSquareFeet(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
221
|
+
buildingClass(filter: StringFilter): this;
|
|
222
|
+
buildingClass(configurator: (builder: StringFilterBuilder) => void): this;
|
|
223
|
+
buildingCondition(filter: StringFilter): this;
|
|
224
|
+
buildingCondition(configurator: (builder: StringFilterBuilder) => void): this;
|
|
225
|
+
buildingQuality(filter: StringFilter): this;
|
|
226
|
+
buildingQuality(configurator: (builder: StringFilterBuilder) => void): this;
|
|
227
|
+
buildingType(filter: StringFilter): this;
|
|
228
|
+
buildingType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
229
|
+
driveway(filter: StringFilter): this;
|
|
230
|
+
driveway(configurator: (builder: StringFilterBuilder) => void): this;
|
|
231
|
+
exteriorWalls(filter: StringFilter): this;
|
|
232
|
+
exteriorWalls(configurator: (builder: StringFilterBuilder) => void): this;
|
|
233
|
+
floorCover(filter: StringFilter): this;
|
|
234
|
+
floorCover(configurator: (builder: StringFilterBuilder) => void): this;
|
|
235
|
+
garageParkingSpaceCount(filter: NumericRangeFilter): this;
|
|
236
|
+
garageParkingSpaceCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
237
|
+
garage(filter: StringFilter): this;
|
|
238
|
+
garage(configurator: (builder: StringFilterBuilder) => void): this;
|
|
239
|
+
heatSource(filter: StringFilter): this;
|
|
240
|
+
heatSource(configurator: (builder: StringFilterBuilder) => void): this;
|
|
241
|
+
heatingFuelType(filter: StringFilter): this;
|
|
242
|
+
heatingFuelType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
243
|
+
interiorWalls(filter: StringFilter): this;
|
|
244
|
+
interiorWalls(configurator: (builder: StringFilterBuilder) => void): this;
|
|
245
|
+
buildingCount(filter: NumericRangeFilter): this;
|
|
246
|
+
buildingCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
247
|
+
bathroomCount(filter: NumericRangeFilter): this;
|
|
248
|
+
bathroomCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
249
|
+
calculatedBathroomCount(filter: NumericRangeFilter): this;
|
|
250
|
+
calculatedBathroomCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
251
|
+
bedroomCount(filter: NumericRangeFilter): this;
|
|
252
|
+
bedroomCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
253
|
+
patio(filter: StringFilter): this;
|
|
254
|
+
patio(configurator: (builder: StringFilterBuilder) => void): this;
|
|
255
|
+
storyCount(filter: NumericRangeFilter): this;
|
|
256
|
+
storyCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
257
|
+
features(filter: StringFilter): this;
|
|
258
|
+
features(configurator: (builder: StringFilterBuilder) => void): this;
|
|
259
|
+
residentialUnitCount(filter: NumericRangeFilter): this;
|
|
260
|
+
residentialUnitCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
261
|
+
pool(filter: StringFilter): this;
|
|
262
|
+
pool(configurator: (builder: StringFilterBuilder) => void): this;
|
|
263
|
+
porch(filter: StringFilter): this;
|
|
264
|
+
porch(configurator: (builder: StringFilterBuilder) => void): this;
|
|
265
|
+
roofCover(filter: StringFilter): this;
|
|
266
|
+
roofCover(configurator: (builder: StringFilterBuilder) => void): this;
|
|
267
|
+
roofType(filter: StringFilter): this;
|
|
268
|
+
roofType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
269
|
+
sewer(filter: StringFilter): this;
|
|
270
|
+
sewer(configurator: (builder: StringFilterBuilder) => void): this;
|
|
271
|
+
style(filter: StringFilter): this;
|
|
272
|
+
style(configurator: (builder: StringFilterBuilder) => void): this;
|
|
273
|
+
roomCount(filter: NumericRangeFilter): this;
|
|
274
|
+
roomCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
275
|
+
unitCount(filter: NumericRangeFilter): this;
|
|
276
|
+
unitCount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
277
|
+
constructionType(filter: StringFilter): this;
|
|
278
|
+
constructionType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
279
|
+
waterService(filter: StringFilter): this;
|
|
280
|
+
waterService(configurator: (builder: StringFilterBuilder) => void): this;
|
|
281
|
+
yearBuilt(filter: NumericRangeFilter): this;
|
|
282
|
+
yearBuilt(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
283
|
+
build(): BuildingSearchCriteria;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Builder for comp address search criteria
|
|
287
|
+
*/
|
|
288
|
+
export declare class CompAddressSearchCriteriaBuilder implements Builder<CompAddressSearchCriteria> {
|
|
289
|
+
protected criteria: CompAddressSearchCriteria;
|
|
290
|
+
static from(criteria: CompAddressSearchCriteria): CompAddressSearchCriteriaBuilder;
|
|
291
|
+
street(value: string): this;
|
|
292
|
+
city(value: string): this;
|
|
293
|
+
state(value: string): this;
|
|
294
|
+
zip(value: string): this;
|
|
295
|
+
hash(value: string): this;
|
|
296
|
+
build(): CompAddressSearchCriteria;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Builder for demographics search criteria
|
|
300
|
+
*/
|
|
301
|
+
export declare class DemographicsSearchCriteriaBuilder extends BaseBuilder<DemographicsSearchCriteria> {
|
|
302
|
+
protected criteria: DemographicsSearchCriteria;
|
|
303
|
+
static from(criteria: DemographicsSearchCriteria): DemographicsSearchCriteriaBuilder;
|
|
304
|
+
age(filter: NumericRangeFilter): this;
|
|
305
|
+
age(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
306
|
+
householdSize(filter: NumericRangeFilter): this;
|
|
307
|
+
householdSize(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
308
|
+
income(filter: NumericRangeFilter): this;
|
|
309
|
+
income(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
310
|
+
netWorth(filter: NumericRangeFilter): this;
|
|
311
|
+
netWorth(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
312
|
+
discretionaryIncome(filter: NumericRangeFilter): this;
|
|
313
|
+
discretionaryIncome(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
314
|
+
homeownerRenter(filter: StringFilter): this;
|
|
315
|
+
homeownerRenter(configurator: (builder: StringFilterBuilder) => void): this;
|
|
316
|
+
businessOwner(filter: StringFilter): this;
|
|
317
|
+
businessOwner(configurator: (builder: StringFilterBuilder) => void): this;
|
|
318
|
+
gender(filter: StringFilter): this;
|
|
319
|
+
gender(configurator: (builder: StringFilterBuilder) => void): this;
|
|
320
|
+
hasChildren(value: boolean): this;
|
|
321
|
+
investments(filter: StringFilter): this;
|
|
322
|
+
investments(configurator: (builder: StringFilterBuilder) => void): this;
|
|
323
|
+
demographics(filter: StringFilter): this;
|
|
324
|
+
demographics(configurator: (builder: StringFilterBuilder) => void): this;
|
|
325
|
+
religiousAffiliation(filter: StringFilter): this;
|
|
326
|
+
religiousAffiliation(configurator: (builder: StringFilterBuilder) => void): this;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Builder for foreclosure search criteria
|
|
330
|
+
*/
|
|
331
|
+
export declare class ForeclosureSearchCriteriaBuilder {
|
|
332
|
+
private criteria;
|
|
333
|
+
static from(criteria: ForeclosureSearchCriteria): ForeclosureSearchCriteriaBuilder;
|
|
334
|
+
status(filter: StringFilter): this;
|
|
335
|
+
status(configurator: (builder: StringFilterBuilder) => void): this;
|
|
336
|
+
recordingDate(filter: DateRangeFilter): this;
|
|
337
|
+
recordingDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
338
|
+
auctionDate(filter: DateRangeFilter): this;
|
|
339
|
+
auctionDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
340
|
+
releaseDate(filter: DateRangeFilter): this;
|
|
341
|
+
releaseDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
342
|
+
auctionMinimumBidAmount(filter: NumericRangeFilter): this;
|
|
343
|
+
auctionMinimumBidAmount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
344
|
+
pastDueAmount(filter: NumericRangeFilter): this;
|
|
345
|
+
pastDueAmount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
346
|
+
build(): ForeclosureSearchCriteria;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Builder for general search criteria
|
|
350
|
+
*/
|
|
351
|
+
export declare class GeneralSearchCriteriaBuilder {
|
|
352
|
+
private criteria;
|
|
353
|
+
static from(criteria: GeneralSearchCriteria): GeneralSearchCriteriaBuilder;
|
|
354
|
+
propertyTypeCategory(filter: StringFilter): this;
|
|
355
|
+
propertyTypeCategory(configurator: (builder: StringFilterBuilder) => void): this;
|
|
356
|
+
propertyTypeDetail(filter: StringFilter): this;
|
|
357
|
+
propertyTypeDetail(configurator: (builder: StringFilterBuilder) => void): this;
|
|
358
|
+
build(): GeneralSearchCriteria;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Builder for IDs search criteria
|
|
362
|
+
*/
|
|
363
|
+
export declare class IdsSearchCriteriaBuilder {
|
|
364
|
+
private criteria;
|
|
365
|
+
static from(criteria: IdsSearchCriteria): IdsSearchCriteriaBuilder;
|
|
366
|
+
addressHash(filter: StringFilter): this;
|
|
367
|
+
addressHash(configurator: (builder: StringFilterBuilder) => void): this;
|
|
368
|
+
mailingAddressHash(filter: StringFilter): this;
|
|
369
|
+
mailingAddressHash(configurator: (builder: StringFilterBuilder) => void): this;
|
|
370
|
+
fipsCode(filter: StringFilter): this;
|
|
371
|
+
fipsCode(configurator: (builder: StringFilterBuilder) => void): this;
|
|
372
|
+
apn(filter: StringFilter): this;
|
|
373
|
+
apn(configurator: (builder: StringFilterBuilder) => void): this;
|
|
374
|
+
taxId(filter: StringFilter): this;
|
|
375
|
+
taxId(configurator: (builder: StringFilterBuilder) => void): this;
|
|
376
|
+
build(): IdsSearchCriteria;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Builder for intel search criteria
|
|
380
|
+
*/
|
|
381
|
+
export declare class IntelSearchCriteriaBuilder {
|
|
382
|
+
private criteria;
|
|
383
|
+
static from(criteria: IntelSearchCriteria): IntelSearchCriteriaBuilder;
|
|
384
|
+
lastSoldDate(filter: DateRangeFilter): this;
|
|
385
|
+
lastSoldDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
386
|
+
lastSoldPrice(filter: NumericRangeFilter): this;
|
|
387
|
+
lastSoldPrice(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
388
|
+
salePropensity(filter: NumericRangeFilter): this;
|
|
389
|
+
salePropensity(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
390
|
+
build(): IntelSearchCriteria;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Builder for involuntary lien search criteria
|
|
394
|
+
*/
|
|
395
|
+
export declare class InvoluntaryLienSearchCriteriaBuilder {
|
|
396
|
+
private criteria;
|
|
397
|
+
static from(criteria: InvoluntaryLienSearchCriteria): InvoluntaryLienSearchCriteriaBuilder;
|
|
398
|
+
lienType(filter: StringFilter): this;
|
|
399
|
+
lienType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
400
|
+
lienTypeCode(filter: StringFilter): this;
|
|
401
|
+
lienTypeCode(configurator: (builder: StringFilterBuilder) => void): this;
|
|
402
|
+
documentType(filter: StringFilter): this;
|
|
403
|
+
documentType(configurator: (builder: StringFilterBuilder) => void): this;
|
|
404
|
+
documentTypeCode(filter: StringFilter): this;
|
|
405
|
+
documentTypeCode(configurator: (builder: StringFilterBuilder) => void): this;
|
|
406
|
+
recordingDate(filter: DateRangeFilter): this;
|
|
407
|
+
recordingDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
408
|
+
filingDate(filter: DateRangeFilter): this;
|
|
409
|
+
filingDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
410
|
+
lienAmount(filter: NumericRangeFilter): this;
|
|
411
|
+
lienAmount(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
412
|
+
build(): InvoluntaryLienSearchCriteria;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Builder for legal search criteria
|
|
416
|
+
*/
|
|
417
|
+
export declare class LegalSearchCriteriaBuilder {
|
|
418
|
+
private criteria;
|
|
419
|
+
static from(criteria: LegalSearchCriteria): LegalSearchCriteriaBuilder;
|
|
420
|
+
subdivisionName(filter: StringFilter): this;
|
|
421
|
+
subdivisionName(configurator: (builder: StringFilterBuilder) => void): this;
|
|
422
|
+
build(): LegalSearchCriteria;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Builder for listing search criteria
|
|
426
|
+
*/
|
|
427
|
+
export declare class ListingSearchCriteriaBuilder {
|
|
428
|
+
private criteria;
|
|
429
|
+
static from(criteria: ListingSearchCriteria): ListingSearchCriteriaBuilder;
|
|
430
|
+
description(filter: StringFilter): this;
|
|
431
|
+
description(configurator: (builder: StringFilterBuilder) => void): this;
|
|
432
|
+
price(filter: NumericRangeFilter): this;
|
|
433
|
+
price(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
434
|
+
daysOnMarket(filter: NumericRangeFilter): this;
|
|
435
|
+
daysOnMarket(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
436
|
+
status(filter: StringFilter): this;
|
|
437
|
+
status(configurator: (builder: StringFilterBuilder) => void): this;
|
|
438
|
+
statusCategory(filter: StringFilter): this;
|
|
439
|
+
statusCategory(configurator: (builder: StringFilterBuilder) => void): this;
|
|
440
|
+
failedListingDate(filter: DateRangeFilter): this;
|
|
441
|
+
failedListingDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
442
|
+
soldDate(filter: DateRangeFilter): this;
|
|
443
|
+
soldDate(configurator: (builder: DateRangeFilterBuilder) => void): this;
|
|
444
|
+
build(): ListingSearchCriteria;
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Builder for lot search criteria
|
|
448
|
+
*/
|
|
449
|
+
export declare class LotSearchCriteriaBuilder {
|
|
450
|
+
private criteria;
|
|
451
|
+
static from(criteria: LotSearchCriteria): LotSearchCriteriaBuilder;
|
|
452
|
+
lotSizeAcres(filter: NumericRangeFilter): this;
|
|
453
|
+
lotSizeAcres(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
454
|
+
lotDepthFeet(filter: NumericRangeFilter): this;
|
|
455
|
+
lotDepthFeet(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
456
|
+
lotFrontageFeet(filter: NumericRangeFilter): this;
|
|
457
|
+
lotFrontageFeet(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
458
|
+
lotSizeSquareFeet(filter: NumericRangeFilter): this;
|
|
459
|
+
lotSizeSquareFeet(configurator: (builder: NumericRangeFilterBuilder) => void): this;
|
|
460
|
+
zoningCode(filter: StringFilter): this;
|
|
461
|
+
zoningCode(configurator: (builder: StringFilterBuilder) => void): this;
|
|
462
|
+
build(): LotSearchCriteria;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Builder for open lien search criteria
|
|
466
|
+
*/
|
|
467
|
+
export declare class OpenLienSearchCriteriaBuilder {
|
|
468
|
+
private criteria;
|
|
469
|
+
static from(criteria: OpenLienSearchCriteria): OpenLienSearchCriteriaBuilder;
|
|
470
|
+
allLoanTypes(filter: StringFilter): this;
|
|
471
|
+
juniorLoanTypes(filter: StringFilter): this;
|
|
472
|
+
totalOpenLienCount(filter: NumericRangeFilter): this;
|
|
473
|
+
totalOpenLienBalance(filter: NumericRangeFilter): this;
|
|
474
|
+
firstLoanLtv(filter: NumericRangeFilter): this;
|
|
475
|
+
firstLoanInterestRate(filter: NumericRangeFilter): this;
|
|
476
|
+
secondLoanInterestRate(filter: NumericRangeFilter): this;
|
|
477
|
+
thirdLoanInterestRate(filter: NumericRangeFilter): this;
|
|
478
|
+
fourthLoanInterestRate(filter: NumericRangeFilter): this;
|
|
479
|
+
firstLoanType(filter: StringFilter): this;
|
|
480
|
+
secondLoanType(filter: StringFilter): this;
|
|
481
|
+
thirdLoanType(filter: StringFilter): this;
|
|
482
|
+
fourthLoanType(filter: StringFilter): this;
|
|
483
|
+
firstLoanRecordingDate(filter: DateRangeFilter): this;
|
|
484
|
+
lastLoanRecordingDate(filter: DateRangeFilter): this;
|
|
485
|
+
build(): OpenLienSearchCriteria;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Builder for owner search criteria
|
|
489
|
+
*/
|
|
490
|
+
export declare class OwnerSearchCriteriaBuilder {
|
|
491
|
+
private criteria;
|
|
492
|
+
static from(criteria: OwnerSearchCriteria): OwnerSearchCriteriaBuilder;
|
|
493
|
+
firstName(filter: StringFilter): this;
|
|
494
|
+
lastName(filter: StringFilter): this;
|
|
495
|
+
ownerOccupied(value: boolean): this;
|
|
496
|
+
mailingStreet(filter: StringFilter): this;
|
|
497
|
+
mailingCity(filter: StringFilter): this;
|
|
498
|
+
mailingState(filter: StringFilter): this;
|
|
499
|
+
mailingZip(filter: StringFilter): this;
|
|
500
|
+
ownerStatusType(filter: StringFilter): this;
|
|
501
|
+
lengthOfResidenceMonths(filter: NumericRangeFilter): this;
|
|
502
|
+
lengthOfResidenceYears(filter: NumericRangeFilter): this;
|
|
503
|
+
ownershipStartDate(filter: DateRangeFilter): this;
|
|
504
|
+
mailingAddressHash(filter: StringFilter): this;
|
|
505
|
+
build(): OwnerSearchCriteria;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Builder for permit search criteria
|
|
509
|
+
*/
|
|
510
|
+
export declare class PermitSearchCriteriaBuilder {
|
|
511
|
+
private criteria;
|
|
512
|
+
static from(criteria: PermitSearchCriteria): PermitSearchCriteriaBuilder;
|
|
513
|
+
permitCount(filter: NumericRangeFilter): this;
|
|
514
|
+
latestDate(filter: DateRangeFilter): this;
|
|
515
|
+
earliestDate(filter: DateRangeFilter): this;
|
|
516
|
+
totalJobValue(filter: NumericRangeFilter): this;
|
|
517
|
+
allTags(filter: StringFilter): this;
|
|
518
|
+
build(): PermitSearchCriteria;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Builder for property owner profile search criteria
|
|
522
|
+
*/
|
|
523
|
+
export declare class PropertyOwnerProfileSearchCriteriaBuilder {
|
|
524
|
+
private criteria;
|
|
525
|
+
static from(criteria: PropertyOwnerProfileSearchCriteria): PropertyOwnerProfileSearchCriteriaBuilder;
|
|
526
|
+
propertiesCount(filter: NumericRangeFilter): this;
|
|
527
|
+
propertiesTotalEquity(filter: NumericRangeFilter): this;
|
|
528
|
+
propertiesTotalEstimatedValue(filter: NumericRangeFilter): this;
|
|
529
|
+
mortgagesTotalBalance(filter: NumericRangeFilter): this;
|
|
530
|
+
mortgagesCount(filter: NumericRangeFilter): this;
|
|
531
|
+
mortgagesAverageBalance(filter: NumericRangeFilter): this;
|
|
532
|
+
build(): PropertyOwnerProfileSearchCriteria;
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Builder for sale search criteria
|
|
536
|
+
*/
|
|
537
|
+
export declare class SaleSearchCriteriaBuilder {
|
|
538
|
+
private criteria;
|
|
539
|
+
static from(criteria: SaleSearchCriteria): SaleSearchCriteriaBuilder;
|
|
540
|
+
lastSalePrice(filter: NumericRangeFilter): this;
|
|
541
|
+
lastSaleDate(filter: DateRangeFilter): this;
|
|
542
|
+
lastSaleDocumentType(filter: StringFilter): this;
|
|
543
|
+
lastSalePricePerSquareFoot(filter: NumericRangeFilter): this;
|
|
544
|
+
flipLength(filter: NumericRangeFilter): this;
|
|
545
|
+
flipLengthCategory(filter: NumericRangeFilter): this;
|
|
546
|
+
flipProfit(filter: NumericRangeFilter): this;
|
|
547
|
+
build(): SaleSearchCriteria;
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Builder for tax search criteria
|
|
551
|
+
*/
|
|
552
|
+
export declare class TaxSearchCriteriaBuilder {
|
|
553
|
+
private criteria;
|
|
554
|
+
static from(criteria: TaxSearchCriteria): TaxSearchCriteriaBuilder;
|
|
555
|
+
taxDelinquentYear(filter: NumericRangeFilter): this;
|
|
556
|
+
build(): TaxSearchCriteria;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Builder for valuation search criteria
|
|
560
|
+
*/
|
|
561
|
+
export declare class ValuationSearchCriteriaBuilder {
|
|
562
|
+
private criteria;
|
|
563
|
+
static from(criteria: ValuationSearchCriteria): ValuationSearchCriteriaBuilder;
|
|
564
|
+
estimatedValue(filter: NumericRangeFilter): this;
|
|
565
|
+
ltv(filter: NumericRangeFilter): this;
|
|
566
|
+
equityPercent(filter: NumericRangeFilter): this;
|
|
567
|
+
build(): ValuationSearchCriteria;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Builder for OR search criteria
|
|
571
|
+
*/
|
|
572
|
+
export declare class OrSearchCriteriaBuilder {
|
|
573
|
+
private criteria;
|
|
574
|
+
static from(criteria: OrSearchCriteria): OrSearchCriteriaBuilder;
|
|
575
|
+
listing(): {
|
|
576
|
+
status(filter: StringFilter): StringFilter;
|
|
577
|
+
};
|
|
578
|
+
sale(): {
|
|
579
|
+
lastSaleDate(filter: DateRangeFilter): DateRangeFilter;
|
|
580
|
+
};
|
|
581
|
+
build(): OrSearchCriteria;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Main builder for search criteria
|
|
585
|
+
*
|
|
586
|
+
* Note: The API requires a query field (returns 400 without it), even when
|
|
587
|
+
* address filters are provided. Query appears to be a geographic scope string
|
|
588
|
+
* (e.g., "US", "AZ", "Maricopa County, AZ"). You can set it via constructor
|
|
589
|
+
* or using the query() method.
|
|
590
|
+
*/
|
|
591
|
+
export declare class SearchCriteriaBuilder extends BaseBuilder<SearchCriteria> {
|
|
592
|
+
protected criteria: Partial<SearchCriteria>;
|
|
593
|
+
/**
|
|
594
|
+
* Creates a new SearchCriteriaBuilder
|
|
595
|
+
*
|
|
596
|
+
* @param query - Geographic scope for the search (e.g., "US", "AZ", "Maricopa County, AZ").
|
|
597
|
+
* This is required by the API even when address filters are provided.
|
|
598
|
+
* The query defines the geographic boundary/scope for property searches.
|
|
599
|
+
*/
|
|
600
|
+
constructor(query: string);
|
|
601
|
+
static from(criteria: SearchCriteria): SearchCriteriaBuilder;
|
|
602
|
+
/**
|
|
603
|
+
* Sets the geographic scope for the search
|
|
604
|
+
*
|
|
605
|
+
* @param value - Geographic scope string (e.g., "US", "AZ", "Maricopa County, AZ").
|
|
606
|
+
* This defines the geographic boundary/scope for property searches.
|
|
607
|
+
* Required by the API even when address filters are provided.
|
|
608
|
+
* @returns This builder instance for method chaining
|
|
609
|
+
*/
|
|
610
|
+
query(value: string): this;
|
|
611
|
+
quickList(value: QuickListValueWithNot): this;
|
|
612
|
+
quickLists(values: QuickListValueWithNot[]): this;
|
|
613
|
+
orQuickLists(values: QuickListValueWithNot[]): this;
|
|
614
|
+
address(criteria: AddressSearchCriteria): this;
|
|
615
|
+
address(configurator: (builder: AddressSearchCriteriaBuilder) => void): this;
|
|
616
|
+
assessment(criteria: AssessmentSearchCriteria): this;
|
|
617
|
+
assessment(configurator: (builder: AssessmentSearchCriteriaBuilder) => void): this;
|
|
618
|
+
building(criteria: BuildingSearchCriteria): this;
|
|
619
|
+
building(configurator: (builder: BuildingSearchCriteriaBuilder) => void): this;
|
|
620
|
+
compAddress(criteria: CompAddressSearchCriteria): this;
|
|
621
|
+
compAddress(configurator: (builder: CompAddressSearchCriteriaBuilder) => void): this;
|
|
622
|
+
demographics(criteria: DemographicsSearchCriteria): this;
|
|
623
|
+
demographics(configurator: (builder: DemographicsSearchCriteriaBuilder) => void): this;
|
|
624
|
+
foreclosure(criteria: ForeclosureSearchCriteria): this;
|
|
625
|
+
foreclosure(configurator: (builder: ForeclosureSearchCriteriaBuilder) => void): this;
|
|
626
|
+
general(criteria: GeneralSearchCriteria): this;
|
|
627
|
+
general(configurator: (builder: GeneralSearchCriteriaBuilder) => void): this;
|
|
628
|
+
ids(criteria: IdsSearchCriteria): this;
|
|
629
|
+
ids(configurator: (builder: IdsSearchCriteriaBuilder) => void): this;
|
|
630
|
+
intel(criteria: IntelSearchCriteria): this;
|
|
631
|
+
intel(configurator: (builder: IntelSearchCriteriaBuilder) => void): this;
|
|
632
|
+
involuntaryLien(criteria: InvoluntaryLienSearchCriteria): this;
|
|
633
|
+
involuntaryLien(configurator: (builder: InvoluntaryLienSearchCriteriaBuilder) => void): this;
|
|
634
|
+
legal(criteria: LegalSearchCriteria): this;
|
|
635
|
+
legal(configurator: (builder: LegalSearchCriteriaBuilder) => void): this;
|
|
636
|
+
listing(criteria: ListingSearchCriteria): this;
|
|
637
|
+
listing(configurator: (builder: ListingSearchCriteriaBuilder) => void): this;
|
|
638
|
+
lot(criteria: LotSearchCriteria): this;
|
|
639
|
+
lot(configurator: (builder: LotSearchCriteriaBuilder) => void): this;
|
|
640
|
+
openLien(criteria: OpenLienSearchCriteria): this;
|
|
641
|
+
openLien(configurator: (builder: OpenLienSearchCriteriaBuilder) => void): this;
|
|
642
|
+
owner(criteria: OwnerSearchCriteria): this;
|
|
643
|
+
owner(configurator: (builder: OwnerSearchCriteriaBuilder) => void): this;
|
|
644
|
+
permit(criteria: PermitSearchCriteria): this;
|
|
645
|
+
permit(configurator: (builder: PermitSearchCriteriaBuilder) => void): this;
|
|
646
|
+
propertyOwnerProfile(criteria: PropertyOwnerProfileSearchCriteria): this;
|
|
647
|
+
propertyOwnerProfile(configurator: (builder: PropertyOwnerProfileSearchCriteriaBuilder) => void): this;
|
|
648
|
+
sale(criteria: SaleSearchCriteria): this;
|
|
649
|
+
sale(configurator: (builder: SaleSearchCriteriaBuilder) => void): this;
|
|
650
|
+
tax(criteria: TaxSearchCriteria): this;
|
|
651
|
+
tax(configurator: (builder: TaxSearchCriteriaBuilder) => void): this;
|
|
652
|
+
valuation(criteria: ValuationSearchCriteria): this;
|
|
653
|
+
valuation(configurator: (builder: ValuationSearchCriteriaBuilder) => void): this;
|
|
654
|
+
or(criteria: OrSearchCriteria[]): this;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Builder for delivery configuration
|
|
658
|
+
*/
|
|
659
|
+
export declare class DeliveryConfigBuilder {
|
|
660
|
+
private config;
|
|
661
|
+
static from(config: DeliveryConfig): DeliveryConfigBuilder;
|
|
662
|
+
webhook(url: string, headers?: Record<string, string>, errorUrl?: string): this;
|
|
663
|
+
kinesis(streamName: string, region: string, iamAccessKeyId: string, iamSecretAccessKey: string): this;
|
|
664
|
+
build(): DeliveryConfig;
|
|
665
|
+
}
|
|
666
|
+
/**
|
|
667
|
+
* Main builder for property subscription requests
|
|
668
|
+
*/
|
|
669
|
+
export declare class PropertySubscriptionBuilder extends BaseBuilder<PropertySubscriptionRequest> {
|
|
670
|
+
static from(request: PropertySubscriptionRequest): PropertySubscriptionBuilder;
|
|
671
|
+
searchCriteria(criteria: SearchCriteria): this;
|
|
672
|
+
searchCriteria(configurator: (builder: SearchCriteriaBuilder) => void): this;
|
|
673
|
+
deliveryConfig(config: DeliveryConfig): this;
|
|
674
|
+
deliveryConfig(configurator: (builder: DeliveryConfigBuilder) => void): this;
|
|
675
|
+
build(): PropertySubscriptionRequest;
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* Builder for property lookup request items
|
|
679
|
+
*/
|
|
680
|
+
export declare class PropertyLookupRequestItemBuilder {
|
|
681
|
+
private item;
|
|
682
|
+
static from(item: PropertyLookupRequestItem): PropertyLookupRequestItemBuilder;
|
|
683
|
+
address(address: PropertyLookupRequestAddress): this;
|
|
684
|
+
propertyId(propertyId: string): this;
|
|
685
|
+
hash(hash: string): this;
|
|
686
|
+
apn(apn: string): this;
|
|
687
|
+
countyFipsCode(countyFipsCode: string): this;
|
|
688
|
+
requestId(requestId: string): this;
|
|
689
|
+
build(): PropertyLookupRequestItem;
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Builder for property lookup options
|
|
693
|
+
* PropertyLookupOptions has 40+ fields, so a builder provides a cleaner API
|
|
694
|
+
*/
|
|
695
|
+
export declare class PropertyLookupOptionsBuilder {
|
|
696
|
+
private options;
|
|
697
|
+
static from(options: PropertyLookupOptions): PropertyLookupOptionsBuilder;
|
|
698
|
+
pagination(skip: number, take: number): this;
|
|
699
|
+
skip(skip: number): this;
|
|
700
|
+
take(take: number): this;
|
|
701
|
+
showRequests(show: boolean): this;
|
|
702
|
+
areaPolygon(show: boolean): this;
|
|
703
|
+
quicklistCounts(show: boolean): this;
|
|
704
|
+
distance(miles?: number, yards?: number, feet?: number, kilometers?: number, meters?: number): this;
|
|
705
|
+
boundingBox(nw: GeoPoint, se: GeoPoint): this;
|
|
706
|
+
bedrooms(min?: number, max?: number): this;
|
|
707
|
+
bathrooms(min?: number, max?: number): this;
|
|
708
|
+
stories(min?: number, max?: number): this;
|
|
709
|
+
area(minPercent?: number, maxPercent?: number): this;
|
|
710
|
+
yearBuilt(min?: number, max?: number): this;
|
|
711
|
+
lotSize(minPercent?: number, maxPercent?: number): this;
|
|
712
|
+
skipTrace(enabled: boolean): this;
|
|
713
|
+
aggregateLoanTypes(enabled: boolean): this;
|
|
714
|
+
images(enabled: boolean): this;
|
|
715
|
+
dateFormat(format: string): this;
|
|
716
|
+
sort(field: string, order: "asc" | "desc" | "random", sessionId?: string): this;
|
|
717
|
+
useSubdivision(enabled: boolean): this;
|
|
718
|
+
build(): PropertyLookupOptions;
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Builder for async property lookup options
|
|
722
|
+
* Extends PropertyLookupOptionsBuilder with async-specific methods like webhook
|
|
723
|
+
*/
|
|
724
|
+
export declare class AsyncPropertyLookupOptionsBuilder extends PropertyLookupOptionsBuilder {
|
|
725
|
+
static from(options: PropertyLookupOptions): AsyncPropertyLookupOptionsBuilder;
|
|
726
|
+
webhook(url: string, errorUrl?: string): this;
|
|
727
|
+
}
|
|
728
|
+
/**
|
|
729
|
+
* Builder for property lookup requests
|
|
730
|
+
*/
|
|
731
|
+
export declare class PropertyLookupRequestBuilder extends BaseBuilder<PropertyLookupRequest> {
|
|
732
|
+
private requestItems;
|
|
733
|
+
static from(request: PropertyLookupRequest): PropertyLookupRequestBuilder;
|
|
734
|
+
items(items: PropertyLookupRequestItem[]): this;
|
|
735
|
+
addItem(item: PropertyLookupRequestItem): this;
|
|
736
|
+
addItemBuilder(builder: PropertyLookupRequestItemBuilder): this;
|
|
737
|
+
options(options: PropertyLookupOptions): this;
|
|
738
|
+
options(configurator: (builder: PropertyLookupOptionsBuilder) => void): this;
|
|
739
|
+
build(): PropertyLookupRequest;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Builder for property search requests
|
|
743
|
+
*/
|
|
744
|
+
export declare class PropertySearchRequestBuilder extends BaseBuilder<PropertySearchRequest> {
|
|
745
|
+
static from(request: PropertySearchRequest): PropertySearchRequestBuilder;
|
|
746
|
+
searchCriteria(criteria: SearchCriteria): this;
|
|
747
|
+
searchCriteria(configurator: (builder: SearchCriteriaBuilder) => void): this;
|
|
748
|
+
options(options: PropertyLookupOptions): this;
|
|
749
|
+
options(configurator: (builder: PropertyLookupOptionsBuilder) => void): this;
|
|
750
|
+
build(): PropertySearchRequest;
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* Builder for property search async requests
|
|
754
|
+
*/
|
|
755
|
+
export declare class PropertySearchAsyncRequestBuilder extends BaseBuilder<PropertySearchAsyncRequest> {
|
|
756
|
+
static from(request: PropertySearchAsyncRequest): PropertySearchAsyncRequestBuilder;
|
|
757
|
+
searchCriteria(criteria: SearchCriteria): this;
|
|
758
|
+
searchCriteria(configurator: (builder: SearchCriteriaBuilder) => void): this;
|
|
759
|
+
options(options: PropertyLookupOptions): this;
|
|
760
|
+
options(configurator: (builder: PropertyLookupOptionsBuilder) => void): this;
|
|
761
|
+
build(): PropertySearchAsyncRequest;
|
|
762
|
+
}
|
|
763
|
+
/**
|
|
764
|
+
* Builder for property lookup async requests
|
|
765
|
+
*/
|
|
766
|
+
export declare class PropertyLookupAsyncRequestBuilder extends BaseBuilder<PropertyLookupAsyncRequest> {
|
|
767
|
+
private requestItems;
|
|
768
|
+
static from(request: PropertyLookupAsyncRequest): PropertyLookupAsyncRequestBuilder;
|
|
769
|
+
items(items: PropertyLookupRequestItem[]): this;
|
|
770
|
+
addItem(item: PropertyLookupRequestItem): this;
|
|
771
|
+
addItemBuilder(builder: PropertyLookupRequestItemBuilder): this;
|
|
772
|
+
options(options: PropertyLookupOptions): this;
|
|
773
|
+
options(configurator: (builder: PropertyLookupOptionsBuilder) => void): this;
|
|
774
|
+
build(): PropertyLookupAsyncRequest;
|
|
775
|
+
}
|
|
776
|
+
/**
|
|
777
|
+
* Builder for property permit request filters
|
|
778
|
+
*/
|
|
779
|
+
export declare class PropertyPermitRequestBuilder {
|
|
780
|
+
private request;
|
|
781
|
+
private options;
|
|
782
|
+
static from(permitRequest: PropertyPermitRequest): PropertyPermitRequestBuilder;
|
|
783
|
+
address(address: PropertyLookupRequestAddress): this;
|
|
784
|
+
hash(hash: string): this;
|
|
785
|
+
propertyId(propertyId: string): this;
|
|
786
|
+
apn(apn: string): this;
|
|
787
|
+
countyFipsCode(countyFipsCode: string): this;
|
|
788
|
+
allTags(filter: StringFilter): this;
|
|
789
|
+
allTagsBuilder(filter: StringFilter): this;
|
|
790
|
+
description(filter: StringFilter): this;
|
|
791
|
+
descriptionBuilder(filter: StringFilter): this;
|
|
792
|
+
endDate(filter: DateRangeFilter): this;
|
|
793
|
+
endDateBuilder(filter: DateRangeFilter): this;
|
|
794
|
+
fileDate(filter: DateRangeFilter): this;
|
|
795
|
+
fileDateBuilder(filter: DateRangeFilter): this;
|
|
796
|
+
finalDate(filter: DateRangeFilter): this;
|
|
797
|
+
finalDateBuilder(filter: DateRangeFilter): this;
|
|
798
|
+
issueDate(filter: DateRangeFilter): this;
|
|
799
|
+
issueDateBuilder(filter: DateRangeFilter): this;
|
|
800
|
+
jobValue(filter: NumericRangeFilter): this;
|
|
801
|
+
jobValueBuilder(filter: NumericRangeFilter): this;
|
|
802
|
+
startDate(filter: DateRangeFilter): this;
|
|
803
|
+
startDateBuilder(filter: DateRangeFilter): this;
|
|
804
|
+
status(filter: StringFilter): this;
|
|
805
|
+
statusBuilder(filter: StringFilter): this;
|
|
806
|
+
subType(filter: StringFilter): this;
|
|
807
|
+
subTypeBuilder(filter: StringFilter): this;
|
|
808
|
+
type(filter: StringFilter): this;
|
|
809
|
+
typeBuilder(filter: StringFilter): this;
|
|
810
|
+
pagination(skip: number, take: number): this;
|
|
811
|
+
skip(skip: number): this;
|
|
812
|
+
take(take: number): this;
|
|
813
|
+
sessionId(sessionId: string): this;
|
|
814
|
+
dateFormat(format: string): this;
|
|
815
|
+
showRequests(show: boolean): this;
|
|
816
|
+
showOptions(show: boolean): this;
|
|
817
|
+
showMeta(show: boolean): this;
|
|
818
|
+
sort(field: string, order: "asc" | "desc"): this;
|
|
819
|
+
build(): PropertyPermitRequest;
|
|
820
|
+
}
|
|
821
|
+
export {};
|