import React from 'react';
import type { ActionsMenuGroup } from '../ui/actions-menu';
import { type PageActionButton } from '../ui/page-actions';
export interface PageLayoutProps {
    children: React.ReactNode;
    title?: string;
    subtitle?: string;
    image?: {
        src: string;
        alt?: string;
    };
    backButton?: {
        label?: string;
        onClick: () => void;
    };
    actions?: PageActionButton[];
    actionsVariant?: 'icon-buttons' | 'primary-buttons' | 'menu-primary';
    menuActions?: ActionsMenuGroup[];
    /** Desktop-only slot (e.g. a `TabSelector`) rendered with the actions. Hidden on mobile. */
    selector?: React.ReactNode;
    /** Header visual variant. `card` adds a card background, border, and padding on mobile. */
    headerVariant?: 'plain' | 'card';
    className?: string;
    contentClassName?: string;
    showHeader?: boolean;
}
/**
 * Page layout container with consistent spacing, header, and actions.
 *
 * Uses `--spacing-system-l` as the gap between sections.
 */
export declare function PageLayout({ children, title, subtitle, image, backButton, actions, actionsVariant, menuActions, selector, headerVariant, className, contentClassName, showHeader, }: PageLayoutProps): React.JSX.Element;
export type { PageActionButton } from '../ui/page-actions';
export { TitleBlock } from './title-block';
export type { TitleBlockProps } from './title-block';
export default PageLayout;
//# sourceMappingURL=page-layout.d.ts.map