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
 * <Page.TitleBar>
 *   <Page.Title>Clients</Page.Title>
 *   <StatusLabel label="Active" status="success" />
 * </Page.TitleBar>
 * ```
 */
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. <Page.PrimaryButton>. */
declare function PageActionPrimary({ children, ref }: PageSlotProps): React.JSX.Element;
/** Positional container for the secondary action. Should contain a Button element, e.g. <Page.SecondaryButton>. */
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 {};
