import { type PropsWithChildren } from 'react'; import { usePageLayoutPortalContext } from './shared/PageLayoutPortalContext.js'; import type { AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; /** @public */ export interface PageLayoutProps extends PropsWithChildren, BehaviorTrackingProps, AriaLabelingProps, StylingProps, MaskingProps, DataTestId { } /** * The `PageLayout` component provides the basic layout for your app with slots for a header, sidebar, main content, and a details panel. * * Slot components (`Header`, `Sidebar`, `Content`, `Details`) can appear anywhere in the React subtree - * inside ``, ``, or any wrapper component. They portal their children into * stable DOM positions owned by `PageLayout`. * @public */ export declare const PageLayout: import("react").NamedExoticComponent, "ref"> & { ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject | null | undefined; }> & { readonly type: (props: PageLayoutProps & import("react").RefAttributes) => import("react").ReactElement | null; } & { /** Displays content at the very top of the page. */ Header: (props: import("./shared/portal-slots.js").HeaderProps & import("react").RefAttributes) => import("react").ReactElement | null; /** Displays content in the collapsible, resizable sidebar panel on the left. */ Sidebar: (props: import("./sidebar-layout/slots.js").SidebarProps & import("react").RefAttributes) => import("react").ReactElement | null; /** * Displays the styled main content area (padding, background, border-radius). */ Content: (props: import("../index.js").PageLayoutContentProps & import("react").RefAttributes) => import("react").ReactElement | null; /** Displays content in the collapsible, resizable details panel on the right. */ Details: ((props: import("./details-layout/slots.js").DetailsProps & import("react").RefAttributes) => import("react").ReactElement | null) & { ControlBar: { (props: import("./details-layout/DetailsControlBar.js").DetailsControlBarProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; }; }; export { usePageLayoutPortalContext };