import { FC } from 'react';
export interface MapViewProps {
    properties: any[]
    initialZoom?: number
    onPopupClick?: ((data: any) => void) | undefined
    width?: string
    height?: string
    isDetails?: boolean
    handleCurrentClick?: (location: [number, number]) => void | undefined
    isCurrentLocation?: boolean
    isSearchListing?: boolean
    searchState?: any
    GOOGLE_MAPS_API_KEY: string
}

export interface SearchbarMainProps {
    view: string
    setView: (view: string) => void
    setApiPayload: (payload: any) => void
    isDashboard?: boolean
    propertyMeta?: any
    userType: string
    currency: string
    BASE_URL: string
    handleDashboardSearch?: (data: any) => void
    isSticky: boolean
    apiClient: any
}

export interface SearchPlaceMapProps {
    propertyList: any[]
    onInfoWindowClick: (item: any) => void
    GOOGLE_MAPS_API_KEY: string
}

export interface PropertyCardProps {
    item: any
    isHostCard?: boolean
    propertyImages: [any, ...any[]]
    onCardClick: (item: any) => void
    onDeleteModalClick?: (item: any) => void
    onMyListingBtnClick?: (item: any) => void
    onPriceBtnClick?: (item: any) => void
    onCalendarBtnClick?: (item: any) => void
}

export interface BookNowSectionProps {
    bgColor?: string
    onClickBookNow: () => void
    bookingSummaryData: any
    userType: string
    propertyData: any
    viewPropertyAvailabilityData: any[]
    isbookingSummaryLoading: boolean
    isCreateBookingLoading: boolean
    getApiPayload: (payload: any) => void
}

export interface BookingSummaryProps {
    IsReview?: boolean
    onSubmit?: () => void
    isEditShow?: boolean
    userType: string
    viewPropertyAvailabilityData: any[]
    viewBookingData: any
    bookingSummaryData: any
    isbookingSummaryLoading: boolean
    isCreateBookingLoading: boolean
    getApiPayload: (item: any) => void
    isLoggedIn?: boolean
}

export interface AboutYouSectionProps {
    register: any
    errors: any
    setValue: any
    Controller: any
    control: any
    countryList: any[]
    viewBookingData: any
}

export interface BookingTimerProps {
    viewBookingData: any
    onTimeout: () => void
    onTimerRun: () => void
    showDraftedModal: boolean
    onLeavePageModalClose: () => void
    isBookingFlow: boolean
    onBrowserBackButtonEvent: (e: any) => void
    onLeaveSubmit: () => void
    onBookAgain: () => void
    propertyName: string
}

export interface BookingConfirmedProps {
    viewBookingData: any
    onBtnClick: (item: any) => void
}

export declare const PropertyCard: FC<PropertyCardProps>
export declare const SearchbarMain: FC<SearchbarMainProps>
export declare const MapView: FC<MapViewProps>
export declare const SearchPlaceMap: FC<SearchPlaceMapProps>
export declare const BookNowSection: FC<BookNowSectionProps>
export declare const i18n: any
export declare const BookingSummary: FC<BookingSummaryProps>
export declare const AboutYouSection: FC<AboutYouSectionProps>
export declare const BookingTimer: FC<BookingTimerProps>
export declare const BookingConfirmed: FC<BookingConfirmedProps>
