import { ApolloQueryResult, NetworkStatus } from 'apollo-client'; import * as React from 'react'; import { ContentType, DateRange, DurationRange, LocationRange, PriceOptions, SortOption, TabOption } from '../../types/graphql-global-types'; import { Discover, Discover_discover_edges_node as SearchNode, Discover_discover_edges_node_CourseSlat, Discover_discover_edges_node_LearningResourceSlat, Discover_discover_edges_node_PlaylistContents_contents as Content, Discover_discover_edges_node_PlaylistOverview as PlaylistOverviewProps, Discover_discover_edges_node_PlaylistSlat, DiscoverVariables } from '../../queries/types/Discover'; import { SearchFilters } from '../context'; export interface PublicProps { generateResultLinkProps: (node: SearchNode, context?: Record) => any; linkComponent?: React.ReactNode; additionalRenderProps?: { CourseSlat?: (node: Discover_discover_edges_node_CourseSlat) => any; PlaylistContents?: (node: Content) => any; LearningResourceSlat?: (node: Discover_discover_edges_node_LearningResourceSlat) => any; PlaylistSlat?: (node: Discover_discover_edges_node_PlaylistSlat) => any; TabsFilterBlock?: any; }; customNodeRenderer?: (data: Discover | undefined, options: { sortValue: SortOption; isLoading: boolean; hasZeroResult: boolean; }) => React.ReactNode; onBookmark?: (node: PlaylistOverviewProps) => any; http?: any; excludeTypes?: ContentType[]; hiddenFilters?: string[]; embeddingAiChatOnMygo1?: boolean; features?: Record; } export interface SearchRendererProps extends PublicProps { loading: boolean; networkStatus: NetworkStatus; queryVariables: DiscoverVariables; querySkipped: boolean; ssr: boolean; timezone?: string; resultsData?: Discover; fetchMore: (Settings: object) => Promise>; changeFilters: (filters: SearchFilters) => void; clearFilters: () => void; clearAll: () => void; setSort: (sort: SortOption) => void; setTab: (tab: TabOption) => void; removeSynonyms: () => void; setDurationRanges: (ranges: DurationRange[]) => void; setTags: (tags: string[]) => void; setRegionRelevances: (regions: string[]) => void; setProviders: (providers: string[]) => void; setTopics: (topics: string[]) => void; setLanguages: (languages: string[]) => void; setPricing: (pricing: PriceOptions[]) => void; setDateTime: (time: DateRange) => void; setLocation: (location: LocationRange) => void; setLocales: (locale: string[]) => void; setEntryLevels: (levels: string[]) => void; setMobileOptimized: (mobileOptimized: boolean | undefined) => void; searchResponse?: any; } export declare class Renderer extends React.Component { private getSortValue; private getSortOptions; private getBlockIndex; render(): React.ReactNode; } declare const _default: (props: PublicProps) => React.JSX.Element; export default _default;