export interface RechatListingsAttributes { listings?: string; filter_brand_ids?: string; filter_brand_id?: string; filter_sort_by?: string; filter_pagination_limit?: string; filter_pagination_offset?: string; filter_search_limit?: string; filter_suggestions_limit?: string; filter_address?: string; filter_boundary_state?: string; filter_boundary_country?: string; filter_listing_statuses?: string; filter_property_types?: string; filter_property_subtypes?: string; filter_architectural_styles?: string; filter_minimum_price?: string; filter_maximum_price?: string; filter_minimum_bedrooms?: string; filter_maximum_bedrooms?: string; filter_minimum_bathrooms?: string; filter_baths?: string; filter_minimum_parking_spaces?: string; filter_minimum_square_feet?: string; filter_maximum_square_feet?: string; filter_minimum_lot_square_feet?: string; filter_maximum_lot_square_feet?: string; filter_minimum_year_built?: string; filter_maximum_year_built?: string; filter_minimum_sold_date?: string; filter_pool?: string; filter_open_houses?: string; filter_office_exclusives?: string; filter_list_offices?: string; filter_agents?: string; filter_list_agents?: string; filter_mlses?: string; disable_filter_price?: string; disable_filter_address?: string; disable_filter_beds?: string; disable_filter_baths?: string; disable_filter_property_types?: string; disable_filter_advanced?: string; disable_filter_loading_indicator?: string; map_api_key: string; map_zoom?: string; map_id?: string; map_default_center?: string; listing_hyperlink_href?: string; listing_hyperlink_target?: string; mobile_layout?: string; } export type RechatThemeName = 'rechat' | (string & {}); export interface RechatRootAttributes { brand_id?: string; authorization?: string; api_url?: string; 'color-mode'?: 'light' | 'dark' | 'auto'; 'data-theme'?: RechatThemeName; } export interface RechatAgentsAttributes { q?: string; limit?: string; agents?: string; } export interface RechatAgentsSearchAttributes { placeholder?: string; } export interface RechatAgentAttributes { id: string; } export interface RechatTestimonialsAttributes { limit?: string; load_more?: string; } export interface RechatListingsFetchedEvent { detail: unknown[]; } export interface RechatListingCardClickEvent { detail: { listing: unknown; }; } export interface RechatListingFiltersChangeEvent { detail: { sortBy: string; listingStatuses: string[]; propertyTypes: string[] | null; minimumPrice: number | null; maximumPrice: number | null; minimumBedrooms: number | null; maximumBedrooms: number | null; minimumBathrooms: number | null; postalCodes: string[]; mlsNumber: string | null; mapCenter?: [number, number]; mapZoom: number; }; } export interface RechatPaginationChangeEvent { detail: { page: number; }; } export interface RechatErrorEvent { detail: { source: 'micro-listings' | 'listings' | 'listings-page' | 'agents' | 'testimonials'; error: string; }; } export interface RechatAgentsFetchedEvent { detail: unknown[]; } export interface RechatAgentCardClickEvent { detail: { agent: unknown; }; } export interface RechatTestimonialsFetchedEvent { detail: unknown[]; } export type RechatEventMap = { 'rechat-listings:fetched': RechatListingsFetchedEvent; 'rechat-listing-card:click': RechatListingCardClickEvent; 'rechat-listing-filters:change': RechatListingFiltersChangeEvent; 'rechat-listings-pagination:change': RechatPaginationChangeEvent; 'rechat-agents:fetched': RechatAgentsFetchedEvent; 'rechat-agents-pagination:change': RechatPaginationChangeEvent; 'rechat-agent-card:click': RechatAgentCardClickEvent; 'rechat-testimonials:fetched': RechatTestimonialsFetchedEvent; 'rechat-error': RechatErrorEvent; }; export interface RechatMapFilterAttributes { address?: string; boundary_state?: string; boundary_country?: string; suggestions_limit?: string; } export interface RechatFilterSearchAttributes { address?: string; boundary_state?: string; boundary_country?: string; suggestions_limit?: string; disabled?: string; } export interface RechatFilterPropertyTypeAttributes { disabled?: string; } export interface RechatFilterPriceAttributes { disabled?: string; } export interface RechatFilterBedsAttributes { disabled?: string; } export interface RechatFilterBathsAttributes { disabled?: string; } export interface RechatFilterAdvancedAttributes { disabled?: string; } export interface RechatFilterLoadingAttributes { disabled?: string; } export type RechatCustomElements = { 'rechat-root': RechatRootAttributes; 'rechat-listings': RechatListingsAttributes; 'rechat-map': Record; 'rechat-map-filter': RechatMapFilterAttributes; 'rechat-map-listings-grid': Record; 'rechat-listings-list': Record; 'rechat-listings-sort': Record; 'rechat-listings-count': Record; 'rechat-listings-pagination': Record; 'rechat-listing-card': Record; 'rechat-property-search-form': Record; 'rechat-filter-search': RechatFilterSearchAttributes; 'rechat-filter-property-type': RechatFilterPropertyTypeAttributes; 'rechat-filter-price': RechatFilterPriceAttributes; 'rechat-filter-beds': RechatFilterBedsAttributes; 'rechat-filter-baths': RechatFilterBathsAttributes; 'rechat-filter-advanced': RechatFilterAdvancedAttributes; 'rechat-filter-reset': Record; 'rechat-filter-loading': RechatFilterLoadingAttributes; 'rechat-agents': RechatAgentsAttributes; 'rechat-agents-grid': Record; 'rechat-agents-search': RechatAgentsSearchAttributes; 'rechat-agents-count': Record; 'rechat-agents-pagination': Record; 'rechat-agent': RechatAgentAttributes; 'rechat-testimonials': RechatTestimonialsAttributes; };