import { HTMLAttributes, ReactNode } from 'react';
import { IconDefinition } from '@gnome-ui/icons';
export interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Large icon displayed above the title.
     * Use an icon from `@gnome-ui/icons` or omit for a text-only page.
     */
    icon?: IconDefinition;
    /**
     * Custom icon node. Use when you need an image, emoji, or
     * a rendered SVG that is not part of `@gnome-ui/icons`.
     * Ignored when `icon` is also provided.
     */
    iconNode?: ReactNode;
    /** Main heading. Keep it short — one noun phrase. */
    title: string;
    /** Supporting description rendered below the title. */
    description?: string;
    /**
     * Optional action area — typically one or two `<Button>` elements.
     * Rendered below the description.
     */
    children?: ReactNode;
    /**
     * Reduces padding, icon size, and title scale for use in compact
     * contexts such as sidebars, popovers, and small panels.
     * Mirrors the `.compact` style class.
     */
    compact?: boolean;
}
/**
 * Empty-state / status page following the Adwaita `AdwStatusPage` pattern.
 *
 * Use to fill a view with no content yet, an error state, or a completion
 * confirmation. Centred both horizontally and vertically.
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html
 * @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html
 */
export declare function StatusPage({ icon, iconNode, title, description, children, compact, className, ...props }: StatusPageProps): import("react/jsx-runtime").JSX.Element;
