export interface PublicSpecial { id: number | null; name: string | null; description: string; image_url?: string | null; image_alt?: string; value: number | null; lease_length: number | null; unit_ids: number[] | null; start_date: string | null; end_date: string | null; feature_on_website: boolean; website_feature_rank: number | null; } export interface PublicFloorplanSummary { id: number | null; name: string; bedrooms: number | null; bathrooms: number | null; square_footage: number | null; marketing_title: string | null; marketing_description?: string | null; } export interface PublicGeolocation { lat: number; lng: number; } export interface PublicPropertySummary { id: number; name: string | null; address: string | null; city: string | null; state: string | null; postal_code: string | null; geolocation: PublicGeolocation | null; } export interface PublicMedia { id: string | null; url: string; name: string | null; description: string | null; type: string | null; rank: number | null; thumbhash?: string | null; } export interface PublicImagePlaceholder { data_uri: string; dominant_color: string; width: number; height: number; version: string; } export type LeadImagePlaceholderMap = Record; export interface PublicAmenity { name: string; amenity_level: string; description: string | null; category: string | null; } export interface PublicFee { id: string | null; fee_name: string; amount: number | null; amount_display: string; limit?: number | null; frequency: string; category: string; description: string | null; additional_info: string | null; refundable: boolean; fee_timing: string | null; required?: boolean; applicable_units?: PublicFeeApplicableUnit[] | null; } export interface PublicFeeApplicableUnit { id: number; unit_number: string; } export interface PublicFeeGroup { key: string; label: string; fee_ids: string[]; } export interface PublicFeeCollection { fees: PublicFee[]; fee_groups: PublicFeeGroup[]; } export interface PublicPriceMatrixEntry { move_in_date: string; rent: number; lease_term_months: number; } export interface PublicUnit { id: number | null; property_id: number | null; property: PublicPropertySummary | null; detail_path: string | null; unit_number: string; bedrooms: number | null; bathrooms: number | null; square_footage: number | null; floor: number | null; date_available: string | null; rent: number | null; virtual_tour_link: string | null; application_url: string | null; availability_status: string | null; unit_use_type: string | null; floorplan: PublicFloorplanSummary | null; media: PublicMedia[] | null; amenities: PublicAmenity[] | null; fees: PublicFee[] | null; fee_groups?: PublicFeeGroup[] | null; price_matrix: PublicPriceMatrixEntry[] | null; specials: PublicSpecial[] | null; total_monthly_cost: number | null; tmlp_enabled?: boolean | null; dynamic_pricing_enabled?: boolean | null; } export interface PublicRecommendedProperty { property: PublicPropertySummary; distance_miles: number | null; matching_unit_count: number; min_rent: number | null; max_rent: number | null; bedrooms: number[]; media: PublicMedia | null; } export interface UnitRecommendationsResponse { units: PublicUnit[]; properties: PublicRecommendedProperty[]; } export interface PublicUnitSummary { id: number | null; unit_number: string; rent: number | null; date_available: string | null; availability_status: string | null; square_footage: number | null; floor: number | null; } export interface PublicRentRange { min: number | null; max: number | null; } export interface PublicSqftRange { min: number | null; max: number | null; } export interface PublicFloorplan { id: number | null; name: string; bedrooms: number | null; bathrooms: number | null; square_footage: number | null; marketing_title: string | null; marketing_description: string | null; available_unit_count: number | null; rent_range: PublicRentRange | null; sqft_range: PublicSqftRange | null; units: PublicUnitSummary[] | null; media: PublicMedia[] | null; amenities: PublicAmenity[] | null; fees?: PublicFee[] | null; fee_groups?: PublicFeeGroup[] | null; } export interface PaginatedResponse { items: T[]; cursor: string | null; } export interface UnitsPageResponse extends PaginatedResponse { /** Present only on the cursorless first page when supported by the API. */ total_count?: number; /** Opt-in map containing placeholders for only the lead images in this page. */ lead_image_placeholders?: LeadImagePlaceholderMap; } export type FloorplansPageResponse = PaginatedResponse; export interface PublicUnitMarker { id: string; property_id: number; lat: number; lng: number; count: number; label: string | null; property: PublicPropertySummary | null; unit_ids: number[]; bedrooms: number[]; min_rent: number | null; max_rent: number | null; } export interface UnitMarkersResponse { items: PublicUnitMarker[]; truncated: boolean; } export interface PublicFacetValue { value: string; label: string | null; count: number; } export interface PublicFacet { key: string; label: string; values: PublicFacetValue[] | null; min: number | null; max: number | null; } export interface UnitFacetsResponse { items: PublicFacet[]; truncated: boolean; } export interface FeesResponse { items: PublicFee[]; groups?: PublicFeeGroup[]; } export interface SpecialsResponse { items: PublicSpecial[]; } export interface UnitFilterValues { bedrooms: number | null; minRent: number | null; maxRent: number | null; moveInDate: string | null; floorplanName: string | null; } //# sourceMappingURL=types.d.ts.map