import { Filter, Offer } from '@comparaonline/offers-models'; import { IComparisonProps } from '@comparaonline/ui-offer-card'; import { Layout } from '@comparaonline/ui-offer-card-layout-types'; import { Theme } from '@material-ui/core/styles'; import React from 'react'; import { RouteComponentProps } from 'react-router-dom'; import { VariantDetail } from './components/DetailVariant'; import { IEmptyProps } from './components/Empty'; import { IOption } from './components/Sort'; import { QuoteFinishedResponse } from './resultsConnector'; export interface IProps extends RouteComponentProps { formId: string; businessUnitCode: string; host: string; path: string; getCallToActionUrl: (offerId: string) => string; onQuoteFinished?: (formId: string, response?: QuoteFinishedResponse) => void; onClickCallToAction: (offer: Offer) => void; disabledCallToAction?: (offer: Offer) => boolean; onClickOfferDetails?: (offer: Offer) => void; onClickCompareCallToAction?: (comparedOffers: Offer[]) => void; onChangeFilter?: (filters: Filter[], offers: Offer[]) => void; receiveOffers?: (offers: Offer[], millisFromStartGetOffers: number) => void; quantityPlaceholders?: number; texts: { emptyResults: IEmptyProps; placeholderMessage?: string; callToActionText: (offer: Offer) => string; viewDetailsText: string; filterTitle: string; detailsTexts: { details: string; about: string; attributesDetails: string; }; groupProductAttributesTitle: string; compareText?: IComparisonProps['compareText']; offerCountText: (count: number) => string; getCompareCallToActionText?: (offerCount: number) => string; addMoreOffersText?: string; }; enableCompareOffers?: boolean; hideProductName?: boolean; appElement: HTMLElement | null; theme: Theme; minDisplaySkeletons?: number; maxDisplaySkeletons?: number; detailTranslate?: ((offer: Offer) => string) | string; aboutTranslate?: ((offer: Offer) => string) | string; detailRenderPrice?: (offer: Offer) => React.ReactNode; layout: typeof Layout; detailVariant: any; variant: VariantDetail; } interface IFilterMap { [key: string]: Filter; } export interface IState { filterMap: IFilterMap; offers: Offer[]; filteredOffers: Offer[]; filters: Filter[]; sortables: IOption[]; configFilters: Filter[]; loading: boolean; selectedOffer?: Offer; comparedOffers: Offer[]; selectedOrderBy: string; open: boolean; extraHeight: number; } declare const _default; export default _default;