/**
 * Copyright IBM Corp. 2025
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React, { type ComponentType, type FunctionComponent } from 'react';
import PropTypes from 'prop-types';
import { TYPES } from '../Tag/Tag';
/**
 * ----------
 * PageHeader
 * ----------
 */
interface PageHeaderProps {
    children?: React.ReactNode;
    className?: string;
}
declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
/**
 * -----------------------
 * PageHeaderBreadcrumbBar
 * -----------------------
 */
interface PageHeaderBreadcrumbBarProps {
    /**
     * `true` by default to render BreadcrumbBar bottom border.
     */
    border?: Boolean;
    children?: React.ReactNode;
    className?: string;
    /**
     * Provide an optional icon to render in front of the PageHeaderContent's title.
     */
    renderIcon?: ComponentType | FunctionComponent;
    /**
     * The PageHeaderBreadcrumbBar's content actions
     */
    contentActions?: React.ReactNode;
    /**
     * `true` to set content actions flush against page actions
     */
    contentActionsFlush?: Boolean;
    /**
     * The PageHeaderContent's page actions
     */
    pageActions?: React.ReactNode;
    /**
     * `true` to set page actions flush with page
     */
    pageActionsFlush?: Boolean;
}
declare const PageHeaderBreadcrumbBar: React.ForwardRefExoticComponent<PageHeaderBreadcrumbBarProps & React.RefAttributes<HTMLDivElement>>;
/**
 * -----------------
 * PageHeaderContent
 * -----------------
 */
interface PageHeaderContentProps {
    /**
     * Provide child elements to be rendered inside PageHeaderContent.
     */
    children?: React.ReactNode;
    /**
     * Specify an optional className to be added to your PageHeaderContent
     */
    className?: string;
    /**
     * Provide an optional icon to render in front of the PageHeaderContent's title.
     */
    renderIcon?: ComponentType | FunctionComponent;
    /**
     * The PageHeaderContent's title
     */
    title: string;
    /**
     * The PageHeaderContent's contextual actions
     */
    contextualActions?: React.ReactNode;
    /**
     * The PageHeaderContent's page actions
     */
    pageActions?: React.ReactNode;
}
declare const PageHeaderContent: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
/**
 * ----------------
 * PageHeaderContentPageActions
 * ----------------
 */
interface PageHeaderContentPageActionsProps {
    /**
     * Provide child elements to be rendered inside PageHeaderContentPageActions.
     */
    children?: React.ReactNode;
    /**
     * Specify an optional className to be added to your PageHeaderContentPageActions
     */
    className?: string;
    /**
     * The PageHeaderContent's page actions collapsible Menu button label
     */
    menuButtonLabel?: string;
    /**
     * The PageHeaderContent's page actions
     */
    actions?: React.ReactNode;
}
declare const PageHeaderContentPageActions: {
    ({ className, children, menuButtonLabel, actions, ...other }: PageHeaderContentPageActionsProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderContentPageActions.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderContentPageActions
         */
        className: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's collapsible Menu button label
         */
        menuButtonLabel: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's page actions
         */
        actions: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactNodeLike>>;
    };
};
/**
 * ----------------
 * PageHeaderContentText
 * ----------------
 */
interface PageHeaderContentTextProps {
    /**
     * Provide child elements to be rendered inside PageHeaderContentText.
     */
    children?: React.ReactNode;
    /**
     * Specify an optional className to be added to your PageHeaderContentText
     */
    className?: string;
    /**
     * The PageHeaderContent's subtitle
     */
    subtitle?: string;
}
declare const PageHeaderContentText: {
    ({ className, children, subtitle, ...other }: PageHeaderContentTextProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderContentText.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderContentText
         */
        className: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's subtitle
         */
        subtitle: PropTypes.Requireable<string>;
    };
};
/**
 * ----------------
 * PageHeaderHeroImage
 * ----------------
 */
interface PageHeaderHeroImageProps {
    /**
     * Provide child elements to be rendered inside PageHeaderHeroImage.
     */
    children?: React.ReactNode;
    /**
     * Specify an optional className to be added to your PageHeaderHeroImage
     */
    className?: string;
}
declare const PageHeaderHeroImage: {
    ({ className, children, ...other }: PageHeaderHeroImageProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderHeroImage.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderHeroImage
         */
        className: PropTypes.Requireable<string>;
    };
};
/**
 * ----------------
 * PageHeaderTabBar
 * ----------------
 */
interface TagItem {
    type: keyof typeof TYPES;
    text: string;
    size?: 'sm' | 'md' | 'lg';
    id: string;
}
interface PageHeaderTabBarProps {
    children?: React.ReactNode;
    className?: string;
    tags?: TagItem[];
}
declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
/**
 * -------
 * Exports
 * -------
 */
declare const Root: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
declare const BreadcrumbBar: React.ForwardRefExoticComponent<PageHeaderBreadcrumbBarProps & React.RefAttributes<HTMLDivElement>>;
declare const Content: React.ForwardRefExoticComponent<PageHeaderContentProps & React.RefAttributes<HTMLDivElement>>;
declare const ContentPageActions: {
    ({ className, children, menuButtonLabel, actions, ...other }: PageHeaderContentPageActionsProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderContentPageActions.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderContentPageActions
         */
        className: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's collapsible Menu button label
         */
        menuButtonLabel: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's page actions
         */
        actions: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactNodeLike>>;
    };
};
declare const ContentText: {
    ({ className, children, subtitle, ...other }: PageHeaderContentTextProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderContentText.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderContentText
         */
        className: PropTypes.Requireable<string>;
        /**
         * The PageHeaderContent's subtitle
         */
        subtitle: PropTypes.Requireable<string>;
    };
};
declare const HeroImage: {
    ({ className, children, ...other }: PageHeaderHeroImageProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
    propTypes: {
        /**
         * Provide child elements to be rendered inside PageHeaderHeroImage.
         */
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Specify an optional className to be added to your PageHeaderHeroImage
         */
        className: PropTypes.Requireable<string>;
    };
};
declare const TabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderHeroImage, PageHeaderTabBar, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, HeroImage, TabBar, };
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, };
