import { NextComponentType } from 'next'; import { AppInitialProps } from 'next/app'; import * as React from 'react'; import { Cookies } from 'react-cookie'; export interface AppWithCookiesInitialProps extends AppInitialProps { cookieHeader: String; wrappedAppInitialProps: TWrappedAppInitialProps; } /** * Additional parameters passed by AppWithCookies to WrappedApp. */ interface AppWithCookiesParams { cookies: Cookies; } /** * React higher-order component (HoC) which wraps the App component and passes a cookies access * object to the App component. * * @template TWrappedAppParams * The parameters which WrappedApp expects via props _and_ getInitialProps context. For example, * WrappedApp may expect a `apolloClient` parameter as `ctx.apolloClient` and `props.apolloClient`. * @template TWrappedAppInitialProps * The initial props returned by WrappedApp.getInitialProps(). By default, this is AppInitialProps, * but may be extended by WrappedApp. */ declare const appWithCookies: (WrappedApp: NextComponentType & TWrappedAppParams & AppWithCookiesParams, TWrappedAppInitialProps, AppInitialProps & { Component: NextComponentType; router: import("next/router").Router; } & TWrappedAppParams & TWrappedAppInitialProps & { cookies: Cookies; }>) => React.ComponentClass; router: import("next/router").Router; } & TWrappedAppParams & AppWithCookiesInitialProps, any> & { getInitialProps?(context: import("next/dist/next-server/lib/utils").AppContextType & TWrappedAppParams): AppWithCookiesInitialProps | Promise>; }; export default appWithCookies;