@simplyhomes/sos-client
Version:
Client SDK for SimplyHomes SOS API
268 lines (267 loc) • 9.91 kB
TypeScript
import { SDK_UpdateProperty_Body_Property, SDK_UpdateProperty_Response_Dto } from './types';
import { SDK_Base } from '../../base';
import { SDK_Context } from 'sdk/client/client';
import { SDK_Execution } from 'sdk/interfaces/sdk-execution';
export declare class SDK_Properties_Update extends SDK_Base implements SDK_Execution {
private propertyId;
private payload;
constructor(ctx: SDK_Context, propertyId: string, payload?: SDK_UpdateProperty_Body_Property);
/**
* Sets the As-Is property value (ATTOM AVM)
* @param value Property value amount
* @returns Current instance for method chaining
*/
withAsIsValue(value: number): this;
/**
* Sets the estimated renovation cost
* @param value Renovation cost amount
* @returns Current instance for method chaining
*/
withRenoAmount(value: number): this;
/**
* Sets the ATOOM ARV value
* @param value ARV amount
* @returns Current instance for method chaining
*/
withArv(value: number): this;
/**
* Sets the property square footage
* @param value Square footage
* @returns Current instance for method chaining
*/
withSqft(value: number): this;
/**
* Sets the year the property was built
* @param value Year built
* @returns Current instance for method chaining
*/
withYearBuilt(value: number): this;
/**
* Sets the number of stories
* @param value Number of stories
* @returns Current instance for method chaining
*/
withStories(value: number): this;
/**
* Sets the housing authority name
* @param value Housing authority name
* @note You can get list Housing Authority names from the SDK Housing Authorities
* @example
* const housingAuthorityList = await client.options.housingAuthorities.list().execute();
* @returns Current instance for method chaining
*/
withHousingAuthorityName(value: string): this;
/**
* Filters properties by type
* @param propertyTypes - types to search for
* @note For a complete list of available type options, you can use the SDK Options
* @example
* // Get available types first
* const types = await client.options.properties.types.list(housingAuthorityName).execute();
* @returns The current instance for method chaining
*/
withPropertyType(value: string): this;
/**
* Filters properties by status
* @param propertyStatus - statuses to search for
* @note For a complete list of available type options, you can use the SDK Options
* @example
* // Get available statuses first
* const types = await client.options.properties.statuses.list().execute();
* @returns The current instance for method chaining
*/
withStatus(value: string): this;
/**
* Sets the water supply characteristic
* @param value Water supply type
* @returns Current instance for method chaining
* @note You can get list water supply types from the SDK Options
* @example
* const waterSupplyList = await client.options.properties.waterSupplies.list().execute();
*/
withCharacteristicsWaterSupply(value: string): this;
/**
* Sets the sewage type characteristic
* @param value Sewage type
* @returns Current instance for method chaining
* @note You can get list sewage types from the SDK Options
* @example
* const sewageTypeList = await client.options.properties.sewerTypes.list().execute();
*/
withCharacteristicsSewageType(value: string): this;
/**
* Sets the construction characteristic
* @param value Construction type
* @returns Current instance for method chaining
* @note You can get list construction types from the SDK Options
* @example
* const constructionList = await client.options.properties.constructions.list().execute();
*/
withCharacteristicsConstruction(value: string): this;
/**
* Sets the foundation characteristic
* @param value Foundation type
* @returns Current instance for method chaining
* @note You can get list foundation types from the SDK Options
* @example
* const foundationList = await client.options.properties.foundations.list().execute();
*/
withCharacteristicsFoundation(value: string): this;
/**
* Sets the siding characteristic
* @param value Siding type
* @returns Current instance for method chaining
* @note You can get list siding types from the SDK Options
* @example
* const sidingList = await client.options.properties.sidings.list().execute();
*/
withCharacteristicsSiding(value: string): this;
/**
* Sets the roof type characteristic
* @param value Roof type
* @returns Current instance for method chaining
* @note You can get list roof types from the SDK Options
* @example
* const roofTypeList = await client.options.properties.roofTypes.list().execute();
*/
withCharacteristicsRoofType(value: string): this;
/**
* Sets whether property has an attic
* @param value true if property has attic
* @returns Current instance for method chaining
*/
withFeatureHasAttic(value: boolean): this;
/**
* Sets whether property has a deck
* @param value true if property has deck
* @returns Current instance for method chaining
*/
withFeatureHasDeck(value: boolean): this;
/**
* Sets whether property has a patio
* @param value true if property has patio
* @returns Current instance for method chaining
*/
withFeatureHasPatio(value: boolean): this;
/**
* Sets whether property has common space
* @param value true if property has common space
* @returns Current instance for method chaining
*/
withFeatureHasCommonSpace(value: boolean): this;
/**
* Sets whether property has a yard
* @param value true if property has yard
* @returns Current instance for method chaining
*/
withFeatureHasYard(value: boolean): this;
/**
* Sets whether property has a elevator
* @param value true if property has elevator
* @returns Current instance for method chaining
*/
withFeatureHasElevator(value: boolean): this;
/**
* Sets whether property has a basement
* @param value true if property has basement
* @returns Current instance for method chaining
*/
withFeatureHasBasement(value: boolean): this;
/**
* Sets whether property has a common laundry
* @param value true if property has a common laundry
* @returns Current instance for method chaining
*/
withFeatureHasCommonLaundry(value: boolean): this;
/**
* Sets whether property has a garage
* @param value true if property has garage
* @returns Current instance for method chaining
*/
withFeatureHasGarage(value: boolean): this;
/**
* Sets whether property has a gate
* @param value true if property has gate
* @returns Current instance for method chaining
*/
withFeatureHasGate(value: boolean): this;
/**
* Sets whether property has a pool
* @param value true if property has pool
* @returns Current instance for method chaining
*/
withFeatureHasPool(value: boolean): this;
/**
* Sets whether property has a porch
* @param value true if property has porch
* @returns Current instance for method chaining
*/
withFeatureHasPorch(value: boolean): this;
/**
* Sets whether property has a sidewalk
* @param value true if property has a sidewalk
* @returns Current instance for method chaining
*/
withFeatureHasSidewalk(value: boolean): this;
/**
* Sets whether property has a driveway
* @param value true if property has driveway
* @returns Current instance for method chaining
*/
withFeatureHasDriveway(value: boolean): this;
/**
* Sets whether property has a exterior stairs
* @param value true if property has exterior stairs
* @returns Current instance for method chaining
*/
withFeatureHasExteriorStairs(value: boolean): this;
/**
* Sets the title insurance amount
* @param value Title insurance cost
* @returns Current instance for method chaining
*/
withTitleInsurance(value: number): this;
/**
* Sets the transfer tax amount
* @param value Transfer tax amount
* @returns Current instance for method chaining
*/
withTransferTax(value: number): this;
/**
* Sets the closing cost override amount
* @param value Closing cost amount
* @returns Current instance for method chaining
*/
withCoreClosingCost(value: number): this;
/**
* Sets the estimated acquisition cost
* @param value Acquisition cost amount
* @returns Current instance for method chaining
*/
withEstimatedAcquisitionCost(value: number): this;
/**
* Sets the owner reserve override amount
* @param value Reserve amount
* @returns Current instance for method chaining
*/
withOwnerReserveAmount(value: number): this;
/**
* Sets the property management reserve override amount
* @param value Reserve amount
* @returns Current instance for method chaining
*/
withPmReserveAmount(value: number): this;
/**
* Sets the PM onboarding cost override amount
* @param value Onboarding cost amount
* @returns Current instance for method chaining
*/
withPmOnboardingAmount(value: number): this;
/**
* Executes the property update with all configured values
* @returns Promise resolving to the update response
*/
execute(): Promise<SDK_UpdateProperty_Response_Dto>;
private clonePayload;
private resetPayload;
}