import { WidgetInstance } from '@evershop/evershop/types/widget'; import { PageMetaInfo } from './pageMeta.js'; type GraphqlScalar = string | number | boolean | null; type GraphqlResponseValue = | GraphqlScalar | GraphqlResponseValue[] | { [key: string]: GraphqlResponseValue }; interface Config { pageMeta: PageMetaInfo; tax: { priceIncludingTax: boolean; }; catalog: { imageDimensions: { width: number; height: number }; }; } interface AppStateContextValue { graphqlResponse: Record; config: Config; propsMap: Record; widgets?: WidgetInstance[]; fetching: boolean; } interface AppContextDispatchValue { setData: React.Dispatch>; fetchPageData: (url: string | URL) => Promise; } export { AppStateContextValue, Config, AppContextDispatchValue };