import * as React from 'react'; import ApolloClient, { NetworkStatus, ApolloQueryResult, WatchQueryFetchPolicy } from 'apollo-client'; import { ContentType, DateRange, DurationRange, LocationRange, PriceOptions, SortOption, TabOption } from 'src/types/graphql-global-types'; import { Search_search as SearchResponse } from '@src/modules/search/blocks/SearchResults/generated/Search'; import { ContentSet } from '@src/modules/shared/types/graphql'; import { DiscoverVariables, Discover } from '../queries/types/Discover'; type Client = ApolloClient; export interface SearchFilters { contentTypes?: ContentType[]; durationRanges?: string[]; languages?: string[]; pricing?: PriceOptions[]; providers?: string[]; tags?: string[]; topics?: string[]; regionRelevances?: string[]; locales?: string[]; entryLevels?: string[]; contentSet?: ContentSet[]; mobileOptimized?: boolean; } export interface SearchProviderValues { providerPresent: boolean; loading: boolean; networkStatus: NetworkStatus; variables?: DiscoverVariables; data?: Discover; timezone?: string; skip: boolean; ssr?: boolean; fetchMore: (Settings: object) => Promise>; refetch: (variables?: DiscoverVariables) => Promise>; changeFilters: (filters: SearchFilters) => void; clearFilters: () => void; clearAll: () => void; setKeyword: (keyword: string) => void; setSort: (sort: SortOption) => void; setTab: (tab: TabOption) => void; removeSynonyms: () => void; setDurationRanges: (ranges: DurationRange[]) => void; setTags: (tags: 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; setRegionRelevances: (regions: string[]) => void; setLocales: (locales: string[]) => void; setEntryLevels: (entryLevels: string[]) => void; setMobileOptimized: (mobileOptimized: boolean) => void; setContentSet: (contentSet: ContentSet[]) => void; features?: Record; fetchPolicy?: WatchQueryFetchPolicy; apolloClientV2?: Client; attachQueryV2SearchData?: (data: SearchResponse) => void; } declare const _default: React.Context; export default _default;