import { Factory, GroupProps, StylesApiProps } from '@mantine/core';
import { ElementType, ReactNode } from 'react';
import { HeaderBreadcrumbAnchor, type HeaderBreadcrumbAnchorStyleNames } from './HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js';
import { HeaderBreadcrumbs, HeaderBreadcrumbsStyleNames } from './HeaderBreadcrumbs/HeaderBreadcrumbs.js';
import { HeaderBreadcrumbText, HeaderBreadcrumbTextStyleNames } from './HeaderBreadcrumbs/HeaderBreadcrumbText.js';
import { HeaderDocAnchor, HeaderDocAnchorStyleNames } from './HeaderDocAnchor/HeaderDocAnchor.js';
import { HeaderRight, HeaderRightStyleNames } from './HeaderRight/HeaderRight.js';
export type { HeaderBreadcrumbsProps } from './HeaderBreadcrumbs/HeaderBreadcrumbs.js';
export type { HeaderDocAnchorProps } from './HeaderDocAnchor/HeaderDocAnchor.js';
export type { HeaderRightProps } from './HeaderRight/HeaderRight.js';
export type HeaderVariant = 'primary' | 'secondary';
export type HeaderStyleNames = 'root' | 'title' | 'description' | 'divider' | 'body' | HeaderDocAnchorStyleNames | HeaderBreadcrumbsStyleNames | HeaderBreadcrumbAnchorStyleNames | HeaderBreadcrumbTextStyleNames | HeaderRightStyleNames;
export interface HeaderProps extends StylesApiProps<HeaderFactory>, Omit<GroupProps, 'classNames' | 'styles' | 'vars' | 'variant' | 'attributes'> {
    /**
     * The description text displayed inside the header underneath the title
     */
    description?: ReactNode;
    /**
     * Whether the header should have a border on the bottom
     */
    borderBottom?: boolean;
    /**
     * Use the primary variant for page header and secondary variant elsewhere
     *
     * @default 'primary'
     */
    variant?: 'primary' | 'secondary';
    /**
     * The title of the header.
     */
    children: ReactNode;
    /**
     * The component used to render the title.
     *
     * @default Title
     * @example 'h2'
     */
    titleComponent?: ElementType;
}
export type HeaderFactory = Factory<{
    props: HeaderProps;
    ref: HTMLDivElement;
    variant: HeaderVariant;
    stylesNames: HeaderStyleNames;
    staticComponents: {
        Breadcrumbs: typeof HeaderBreadcrumbs;
        BreadcrumbAnchor: typeof HeaderBreadcrumbAnchor;
        BreadcrumbText: typeof HeaderBreadcrumbText;
        Right: typeof HeaderRight;
        DocAnchor: typeof HeaderDocAnchor;
    };
}>;
export declare const Header: import("@mantine/core").MantineComponent<{
    props: HeaderProps;
    ref: HTMLDivElement;
    variant: HeaderVariant;
    stylesNames: HeaderStyleNames;
    staticComponents: {
        Breadcrumbs: typeof HeaderBreadcrumbs;
        BreadcrumbAnchor: typeof HeaderBreadcrumbAnchor;
        BreadcrumbText: typeof HeaderBreadcrumbText;
        Right: typeof HeaderRight;
        DocAnchor: typeof HeaderDocAnchor;
    };
}>;
//# sourceMappingURL=Header.d.ts.map