import React from 'react'; import { TranslationsPromises } from '../boot/server'; import { SchemaExtensions } from '../boot/server/createApolloServer'; import { DocumentNode } from 'graphql'; import { Tracker } from '../analytics/tracking'; import { PluginDefinition } from 'apollo-server-core'; import { PreLoaderProviderConfig } from '../hooks/useRoutePreload'; export interface IntlOptions { translations: TranslationsPromises; defaultLocale: string; options?: any; } export interface ApolloConfig { graphQLURI?: string; token?: string; shopid?: string; engineApiKey?: string; enableGateway?: boolean; channelsQuery?: DocumentNode; persistedQueries?: { query: DocumentNode; variables?: {}; }[]; } export interface ChannelOverrides { [channelName: string]: BootOptions; } export interface OptimizeConfig { container: string; experimentId: string; variantWeights: number[]; } export interface Routes { [routeName: string]: { path: string; [any: string]: any; }; } interface Theme { breakpoints: { [label: string]: string; }; [key: string]: any; } export interface BootOptions { theme: Theme; apolloConfig: ApolloConfig; trackingID: string; useArticleNumberAsId?: boolean; tagManagerID: string; sentryClientDSN: string; sentryServerDSN: string; intl: IntlOptions; channelOverrides: ChannelOverrides; schemaExtensions?: SchemaExtensions; apolloServerplugins?: PluginDefinition[]; relewareEnabled?: boolean; disableGeoRedirect: boolean; singleDomainMode: boolean; trackers?: Tracker[]; preserveRedirect: boolean; structuredData: { disableDefaultProductData?: boolean; }; googleMapsApiKey?: string; loginPath: string; pathsWithNoAuthRequired: string[]; optimize?: OptimizeConfig; routes?: Routes; preload?: PreLoaderProviderConfig; } export declare const ShopConfigContext: React.Context; export declare function ConfigProvider({ config: userConfig, children, ...rest }: { config: BootOptions; children: React.ReactNode; }): JSX.Element; export {};