import type { ReactElement } from "react";
import React from "react";
import type { ButtonActionProps, PageActionButtonProps, PageActionsProps, PageBodyProps, PageComposableProps, PageHeaderContentProps, PageHeaderProps, PageIntroProps, PageLegacyProps, PageMenuProps, PageSlotProps, PageSubtitleProps, PageTitleBarProps, PageTitleProps } from "./types";
import { type ButtonProps } from "../Button";
export declare function Page(props: PageLegacyProps): ReactElement;
export declare function Page(props: PageComposableProps): ReactElement;
export declare namespace Page {
var Header: typeof PageHeader;
var HeaderContent: typeof PageHeaderContent;
var TitleBar: typeof PageTitleBar;
var Title: typeof PageTitle;
var Subtitle: typeof PageSubtitle;
var Intro: typeof PageIntro;
var Actions: typeof PageActions;
var ActionPrimary: typeof PageActionPrimary;
var ActionSecondary: typeof PageActionSecondary;
var ActionMenu: typeof PageActionMenu;
var PrimaryButton: typeof PagePrimaryButton;
var SecondaryButton: typeof PageSecondaryButton;
var Menu: typeof PageMenu;
var Body: typeof PageBody;
}
/**
* Groups the title area and actions into the page header layout.
* Place non-action content (title, subtitle) inside `Page.HeaderContent`
* and actions inside `Page.Actions`.
*/
declare function PageHeader({ children, ...rest }: PageHeaderProps): React.JSX.Element;
/** Wraps the title area (title, subtitle) inside `Page.Header`. Use when the header contains more than one content element to keep them stacked vertically. */
declare function PageHeaderContent({ children, ...rest }: PageHeaderContentProps): React.JSX.Element;
/**
* Flex container for the page title and optional sibling elements such as
* status badges. Use when you need to display metadata alongside the heading.
*
* @example
* ```tsx
*
* Clients
*
*
* ```
*/
declare function PageTitleBar({ children, ...rest }: PageTitleBarProps): React.JSX.Element;
/**
* Renders the page heading as an H1. When metadata is present alongside the
* title, wrap both in `Page.TitleBar`.
*/
declare function PageTitle({ children, ...rest }: PageTitleProps): React.JSX.Element;
/** Secondary text below the title. Always applies default Text/Emphasis styling. */
declare function PageSubtitle({ children, ...rest }: PageSubtitleProps): React.JSX.Element;
/** Introduction text between the header and body. Always applies default Text styling. */
declare function PageIntro({ children }: PageIntroProps): React.JSX.Element;
/** Container for action buttons and menu. Applies responsive actionGroup layout. */
declare function PageActions({ children, ...rest }: PageActionsProps): React.JSX.Element;
/** Positional container for the primary action. Should contain a Button element, e.g. . */
declare function PageActionPrimary({ children, ref }: PageSlotProps): React.JSX.Element;
/** Positional container for the secondary action. Should contain a Button element, e.g. . */
declare function PageActionSecondary({ children, ref }: PageSlotProps): React.JSX.Element;
/** Positional container for the menu action. Should contain Page.Menu or a custom Menu. */
declare function PageActionMenu({ children, ref }: PageSlotProps): React.JSX.Element;
/** Default primary Button with opinionated styling. Use inside Page.ActionPrimary. */
declare function PagePrimaryButton({ ref, label, onClick, icon, disabled, loading, ariaLabel, ...rest }: PageActionButtonProps): React.JSX.Element;
/** Default secondary Button with opinionated styling. Use inside Page.ActionSecondary. */
declare function PageSecondaryButton({ ref, label, onClick, icon, disabled, loading, ariaLabel, ...rest }: PageActionButtonProps): React.JSX.Element;
/**
* "More Actions" menu with a default trigger button.
* Consumers supply Menu.Item children (in case custom routing is needed,
* e.g. wrapping Menu.Item with createLink() from TanStack Router).
*/
declare function PageMenu({ children, triggerLabel, ...rest }: PageMenuProps): React.JSX.Element;
/** Main content area of the page. */
declare function PageBody({ children }: PageBodyProps): React.JSX.Element;
export declare const getActionProps: (actionProps?: ButtonActionProps) => ButtonProps;
export {};