import { HTMLAttributes, ReactNode } from 'react';
/**
* The `AppShell` component provides the foundational layout structure for the application.
* It acts similarly to an HTML `body` element, organizing pages with headers, footers,
* navigation, and content areas. For simpler manual layout setup, consider using `AppBody`.
* @see https://cloudoperators.github.io/juno/?path=/docs/layout-appshell--docs
* @see {@link AppShellProps}
*/
export declare const AppShell: ({ children, className, embedded, pageHeader, pageFooter, fullWidthContent, sideNavigation, topNavigation, ...props }: AppShellProps) => ReactNode;
export interface AppShellProps extends HTMLAttributes {
/**
* The main content of the app.
*/
children?: ReactNode;
/**
* Add a custom class name to style the component.
* @default ""
*/
className?: string;
/**
* Determines if the app should be rendered in embedded mode, reducing layout components to core content.
* @default false
*/
embedded?: boolean;
/**
* Pass either a `` component or a string to be used as the application name in the standard page header.
* @default ``
*/
pageHeader?: ReactNode;
/**
* An optional `` component if specified. Uses the default `` if undefined.
* @default ``
*/
pageFooter?: ReactNode;
/**
* Optional `` component. Only rendered if provided.
*/
topNavigation?: ReactNode;
/**
* Optional `` component. Only rendered if provided.
*/
sideNavigation?: ReactNode;
/**
* Indicates whether the main content should span the full viewport width.
* Defaults to `false` unless embedded, allowing content to occupy full width.
*/
fullWidthContent?: boolean;
}
//# sourceMappingURL=AppShell.component.d.ts.map