import type { HTMLAttributes, ReactNode } from 'react';
export interface PageContainerProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
    /** Page title rendered as an h1 inside the page header. */
    title?: ReactNode;
    /** Optional sub-headline shown beneath the title. */
    description?: ReactNode;
    /** Right-aligned action area (buttons, filters). Rendered in the header. */
    actions?: ReactNode;
    /**
     * Maximum width of the content. Defaults to `7xl` (Tailwind's max-w-7xl,
     * ~1280px). Pass `'full'` for edge-to-edge content.
     */
    maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | 'full';
    /** Horizontal padding token. Defaults to `6` (24px). */
    paddingX?: '4' | '6' | '8';
    /** Vertical padding token. Defaults to `6`. */
    paddingY?: '4' | '6' | '8' | '10';
    /** Vertical gap between the header and the body. Defaults to `6`. */
    gap?: '4' | '6' | '8';
    children?: ReactNode;
}
/**
 * The single canonical wrapper for every admin page. PageContainer owns
 * three responsibilities so individual views can stop redoing them:
 *
 *  1. Consistent max-width + horizontal padding (so dashboards, lists, and
 *     forms all line up visually).
 *  2. A standard header slot with title + description + actions.
 *  3. A standard body slot rendered as a `<Stack>` so children stack with
 *     consistent vertical rhythm.
 *
 * Use PageContainer at the top of every screen. Compose with `<Stack>` /
 * `<Grid>` / `<Cluster>` inside. Never roll a per-screen wrapper.
 */
export declare function PageContainer({ title, description, actions, maxWidth, paddingX, paddingY, gap, className, children, ...rest }: PageContainerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=PageContainer.d.ts.map