import { Request, Response } from 'express'; import { GraphQLSchema } from 'graphql'; import { ReactElement } from 'react'; import { Cookies } from 'react-cookie'; import { Tracker } from '../../analytics/tracking'; import { BootOptions, OptimizeConfig } from '../../components/ConfigProvider'; import { PersistedApolloClient } from './PersistedApolloClient'; export interface SlotData { [key: string]: string; } export interface PreloadScripts { src: string; attrs: SlotData; } export interface RendererOptions extends BootOptions { loadableStatsPath: string; schema?: GraphQLSchema; disableGeoRedirect: boolean; singleDomainMode: boolean; trackers?: Tracker[]; optimize?: OptimizeConfig; globalClient?: PersistedApolloClient; } declare const createRenderer: (template: string, tree: ReactElement, options: RendererOptions) => (req: Request & { universalCookies: Cookies; breakpoint: string; }, res: Response) => Promise; export default createRenderer;