import { type HTMLAttributes } from 'react';
import { type DataTestId, type MaskingProps, type StylingProps, type WithChildren } from '@dynatrace/strato-components/core';
import type { PanelSize } from './Panel/types/shared-panel-types.js';
import type { PagePanels } from './types/shared-page-types.js';
/**
* @internal
*/
export declare const MIN_WIDTHS: Record;
/**
* @internal
*/
export declare const BREAKPOINTS: Record, number>;
/**
* @internal
*/
export declare const PREFERRED_WIDTHS: Partial>;
/**
* @internal
*/
export declare const PANEL_ORDER: Record;
/**
* @public
*/
export interface PageProps extends WithChildren, Omit, keyof StylingProps>, StylingProps, DataTestId, MaskingProps {
/**
* Whether animations should be disabled.
* If true or 'prefers-reduced-motion' is set to 'reduce', no animations are applied.
* @defaultValue false
*/
disableAnimations?: boolean;
}
/**
* The `Page` component provides the basic layout for your app with slots for a header, sidebar, main content, and a detail view.
* The `Main` slot is the only slot that is mandatory for rendering the `Page`; every other slot is optional.
* @public
*/
export declare const Page: ((props: PageProps) => import("react/jsx-runtime.js").JSX.Element) & {
/** The `Header` component is used inside the `Page` component for displaying content at the very top of the page. */
Header: {
(props: import("./Header.js").HeaderProps): import("react/jsx-runtime.js").JSX.Element;
displayName: string;
};
/** The `Sidebar` component is used inside the `Page` component for displaying content in the corresponding panel. */
Sidebar: (props: import("./Sidebar.js").SidebarProps & import("react").RefAttributes) => React.ReactElement | null;
/**
* The `Main` component is used inside the `Page` component for displaying content in the corresponding panel.
* It is the only compound that is mandatory for rendering the `Page`.
*/
Main: (props: import("./Main.js").MainProps & import("react").RefAttributes) => React.ReactElement | null;
/** The `DetailView` component is used inside the `Page` component for displaying content in the corresponding panel. */
DetailView: (props: import("./DetailView.js").DetailViewProps & import("react").RefAttributes) => React.ReactElement | null;
/**
* Use the `PanelControlButton` to get the correct icon for toggling the sidebar / detail view.
* Depending on where it is rendered and the current state of the panel, the corresponding icon is rendered.
* You can customize the rendered content by passing any children.
*/
PanelControlButton: (props: import("./PanelControlButton.js").PanelControlButtonProps) => import("react/jsx-runtime.js").JSX.Element;
};