import type { Redirect } from 'next'; import { SearchIndexSlice, SharedConfigSlice } from '@jpmorganchase/mosaic-store'; import type { ContentProps } from '@jpmorganchase/mosaic-types'; import { MosaicMiddleware, MosaicMiddlewareWithConfig } from './createMiddlewareRunner.js'; import { type MosaicModeProps } from './withMosaicMode.js'; export declare type BaseMosaicAppProps = { /** Flag to show custom 404 page, whilst maintaining current state/layout */ show404?: boolean; /** Flag to show custom 500 page, whilst maintaining current state/layout */ show500?: boolean; }; /** Abstract Mosaic App Props */ export declare type MosaicAppProps = { /** Page props created by [[`Middleware`]] */ props?: T; /** Error description */ errors?: { /** Stacktrace * */ location?: string; /** Error message * */ statusText?: string; /** Error code */ status?: number; } & BaseMosaicAppProps; /** Next JS Redirect */ redirect?: Redirect; }; /** Mosaic getServerSideProps result which supports error handling */ export declare type GetMosaicServerSidePropsResult = MosaicAppProps; /** MiddlewarePresets props */ export declare type MiddlewarePresetsProps = MosaicModeProps & ContentProps & SearchIndexSlice & SharedConfigSlice; /** A collection of preset [[`Middleware`]] plugins that will compose together the page props */ export declare const middlewarePresets: Array | MosaicMiddlewareWithConfig>;