// Interface representing amenities
export interface amenities {
  amenitiesId: string;
  title: string;
  slug: string
}

// Interface representing the structure of a property's price information
export interface PropertyPriceType {
  price: number;
  currency: string;
  currencySymbol: string;
}

// Interface representing the structure of a property's stay duration
export interface StayDurationType {
  number: number;
  duration: string;
}

// Interface representing available sorting options for properties
export interface PropertySortType {
  title: string;
  slug: string;
}

// Interface representing different types of properties
export interface PropertyTypes {
  title: string;
  slug: string;
  icon: string;
  selectedIcon: string;
  listingIcon: string;
  propertyTypeId: string;
}

// Interface representing the full structure of available filters for listing properties
export interface ListFilters {
  location: amenities[];
  bedType: amenities[];
  homebase: amenities[];
  workspace: amenities[];
  bathroom: amenities[];
  propertyMinimumPrice: PropertyPriceType;
  propertyMaximumPrice: PropertyPriceType;
  propertyMinimumDuration: StayDurationType;
  propertyMaximumDuration: StayDurationType;
  propertySortBy: PropertySortType[];
  propertyTypes: PropertyTypes[];
}