export type HestiaPropertyData = { [key: string]: any; property_id: number | null; vox_number: number | null; administration_fee: string | null; property_type: string | null; age: number; furnishing: string[] | null; student: boolean | null; pets: boolean | null; smoking: boolean | null; shared: boolean | null; dss_considered: boolean | null; single_room_let: boolean | null; searchable_keyword: string | null; eir_current: string | null; eir_potential: string | null; eer_current: string | null; eer_potential: string | null; service_provider_id: number | null; tenure: string | null; primary_channel: 'sales' | 'lettings'; contact_telephone: string | null; property_ref: string | null; metropix_id: string | number | null; assets: any[]; floorplans: { image: string; description: string; }[]; lat: number | null; lng: number | null; links: PropertyLink[]; bedrooms: number | null; bathrooms: number | null; reception_rooms: number | null; price: string | null; price_value: number | null; pppw_price: number | null; currency_code: string | null; available_on: string | null; branch_id: number | null; photos: string[]; high_res_photos: string[]; new_home: boolean; tags: string[]; nodes: any[]; child_properties: HestiaPropertyData[]; acreage: number | null; square_feet: number | null; square_feet_internal: number | null; status: string | null; short_description: string | null; description: string | null; featured_short_description: string | null; featured: boolean | null; display_address: string | null; building_name: string | null; street_address: string | null; town: string | null; county: string | null; locality: string | null; postcode: string | null; features: string[]; comments: string[]; associated_profiles: any[]; resource_uri: string; created_at: string; create_date: string; updated_at: string; property_facets: Record[]; hidden: boolean; international: boolean; associated_branch_ids: number[]; launched_date: string | null; exchanged_at: string | null; last_baked_at: string | null; location_id: number | null; location_name: string | null; location_county: string | null; auction_url: string | null; auction_date: string | null; geoname_ids: number[]; property_metadata?: HestiaPropertyMetadata; agency: any; }; export type HestiaPropertyMetadata = { disposal?: string; rtdf?: { branch_id?: string; agent_ref?: string; }; exchanged_price?: string; room_details?: { summary?: string; rooms?: { room_name?: string; room_description?: string; }[]; description?: string; }; valuation_price?: string; price_metadata?: { shared_ownership_rent_frequency?: string; deposit?: string; shared_ownership_rent?: string; tenure_unexpired_years?: string; shared_ownership_percentage?: string; shared_ownership?: boolean; ground_rent_percentage_increase?: string; annual_ground_rent?: string; ground_rent_review_period_years?: string; annual_service_charge?: string; }; epc_classification?: string; recommended_price?: string; property_details?: { minimum_term?: number; tenancy_length?: number; }; addresses?: { address_2?: string; address_3?: string; address_4?: string; }; council_tax?: { council_tax_exempt?: boolean; council_tax_band?: string; }; open_house_events?: { start: string; end: string; }[]; }; export type DBAPIPropertyData = { [key: string]: any; id: number; agency_id: number; branch_id: number; postcode: string; bedrooms: number; property_ref: string; town: string; county: string; street: string; metadata: { max_square_feet: number | null; streetview_enabled: boolean; streetview_position_lat: number | null; streetview_position_lng: number | null; streetview_orientation_pitch: number | null; streetview_orientation_heading: number | null; council_tax: { council_tax_band: string; council_tax_exempt: boolean; }; price_metadata: { annual_ground_rent: string; ground_rent_review_period_years: string; ground_rent_review_date: string; ground_rent_percentage_increase: string; annual_service_charge: string; tenure_unexpired_years: string; shared_ownership: boolean; shared_ownership_percentage: string; shared_ownership_rent: string; shared_ownership_rent_frequency: string; deposit: string; }; room_details?: { rooms?: [ room_name?: string, room_width?: string, room_length?: string, room_description?: string, room_dimension_unit?: string ]; summary?: string; description?: string; }; epc_classification: string; }; }; export type RoomDetail = { rooms?: { roomName?: string; roomWidth?: string; roomLength?: string; roomDescription?: string; roomDimensionUnit?: string; }[]; summary?: string; description?: string; }; export type PropertyLink = { category_id: number; url: string; description: string; }; /** TODO: This is duplicated in search-from-fragment.ts */ export interface PropertyHestiaSearchParams { channel: string; minBedrooms?: number | null; maxBedrooms?: number; minPrice?: number; maxPrice?: number; minSquareFeet?: number; maxSquareFeet?: number; area?: number; property_type?: string; updatedAgo?: number; createdAgo?: number; status?: string | null; minAcreage?: number; maxAcreage?: number; within?: string; poly?: string; text?: string; shortLets?: string; tags?: string[]; sort?: string; distance?: number; searchableKeyword?: string; address?: string; branch_id?: number; } export interface PropertySearchParams { page?: number | string; pageSize?: number | string; search?: PropertyHestiaSearchParams | SimilarPropertiesSearchParams; fields?: string[]; } export interface SimilarPropertiesSearchParams extends Omit { channel?: string; percentage?: number; location?: { near: { point: [number, number]; distance: number; }; }; withPhotos?: boolean; } export interface HestiaPropertiesResult { properties: { total: number; elements: HestiaPropertyData[]; }; } //# sourceMappingURL=property.types.d.ts.map