import * as React from 'react';
import type { AdConfig } from "../Ad/index.js";
import type { DemoContextValue } from "../DemoContext/index.js";
import type { DocsConfig } from "../DocsProvider/index.js";
import type { MuiPageContext } from "../PageContext/index.js";
import type { Translations } from "../i18n/index.js";
import createEmotionCache from "./createEmotionCache.js";
export interface DocsAppProps {
  /**
   * The Next.js page component.
   */
  Component: React.ComponentType<any> & {
    getLayout?: (page: React.ReactElement) => React.ReactNode;
  };
  /**
   * The Emotion cache for CSS-in-JS. Falls back to a client-side cache.
   */
  emotionCache?: ReturnType<typeof createEmotionCache>;
  /**
   * Page props from Next.js, including userLanguage and translations.
   */
  pageProps: {
    userLanguage: string;
    translations: Translations;
    [key: string]: unknown;
  };
  /**
   * Docs configuration object (from docs/config.ts)
   */
  docsConfig: DocsConfig;
  /**
   * Path to the service worker file, e.g. '/sw.js'
   */
  serviceWorkerPath: string;
  /**
   * The currently active page object
   */
  activePage: MuiPageContext['activePage'];
  /**
   * The parent pages of the active page
   */
  activePageParents: MuiPageContext['activePageParents'];
  /**
   * List of all pages for the product
   */
  pageList: MuiPageContext['pages'];
  /**
   * Product metadata and branding info
   */
  productIdentifier: MuiPageContext['productIdentifier'];
  /**
   * Product identifier string (e.g. 'material-ui')
   */
  productId: MuiPageContext['productId'];
  /**
   * Product category identifier string (e.g. 'core')
   */
  productCategoryId: MuiPageContext['productCategoryId'];
  /**
   * Display name for the product (e.g. 'Material UI')
   */
  demoDisplayName: DemoContextValue['productDisplayName'];
  /**
   * CodeSandbox configuration for demos
   */
  csbConfig: DemoContextValue['csb'];
  /**
   * Optional ad configuration
   */
  adConfig?: Partial<AdConfig>;
  /**
   * Optional wrapper component for theming
   */
  ThemeWrapper?: React.ComponentType<{
    children: React.ReactNode;
  }>;
}
declare function DocsApp(props: DocsAppProps): import("react/jsx-runtime").JSX.Element;
export { DocsApp };