import * as React from 'react';
import { ToolpadComponents } from '@mui/toolpad-core';
export { ComponentsContextProvider } from '@mui/toolpad-core';
import { R as RuntimeState, T as ToolpadAppProps } from './ToolpadApp-ab19208c.js';
export { D as DomContextProvider, a as RenderedPage } from './ToolpadApp-ab19208c.js';
import '@mui/material';

interface NavigationEntry {
    slug: string;
    displayName: string;
    hasShell?: boolean;
}
interface ToolpadAppLayoutProps {
    activePage?: string;
    pages?: NavigationEntry[];
    hasShell?: boolean;
    children?: React.ReactNode;
    clipped?: boolean;
}
declare function AppLayout({ activePage, pages, hasShell: hasShellProp, children, clipped, }: ToolpadAppLayoutProps): React.JSX.Element;

/**
 * This allows us to hot update the components when a file is added/removed
 */
declare function setComponents(newComponents: ToolpadComponents): void;
interface RootProps {
    initialState: RuntimeState;
    base: string;
    ToolpadApp: React.ComponentType<ToolpadAppProps>;
}
interface InitParams {
    initialState: RuntimeState;
    base: string;
    ToolpadApp?: React.ComponentType<ToolpadAppProps>;
}
declare function init({ ToolpadApp, initialState, base }: InitParams): void;

export { AppLayout, InitParams, RootProps, init, setComponents };
