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 };