///
import { IObservableArray } from '../../Core/Observable';
import { IButtonProps } from '../../Button';
import { IHeaderCommandBarItem } from '../../HeaderCommandBar';
import { IIconProps } from '../../Icon';
export interface IHeader {
}
export declare const enum TitleSize {
Medium = 0,
Large = 1,
Small = 2
}
export interface ICustomHeaderProps {
/**
* An optional className to pass to the root Header element
*/
className?: string;
/**
* Whether or not to show a separator after the Header
* @default false
*/
separator?: boolean;
}
export interface IHeaderDescriptionProps {
/**
* An optional className to pass to the description element
*/
className?: string;
/**
* An optional id used for the descriptions's text. Can be used in conjunction with aria-describedby.
* getSafeId() will be called on this value.
*/
id?: string;
}
export interface IHeaderIconProps {
/**
* An optional className to pass to the icon element
*/
className?: string;
/**
* Props to render for the icon.
*/
iconProps: IIconProps;
/**
* Applies appropriate font size and padding for the icon.
*/
titleSize?: TitleSize;
}
export interface IHeaderTitleProps {
/**
* An optional aria level to pass to the title element
*/
ariaLevel?: number;
/**
* An optional className to pass to the title element
*/
className?: string;
/**
* An optional id used for the title's text. Can be used in conjunction with aria-labelledby.
* getSafeId() will be called on this value.
*/
id?: string;
/**
* Applies appropriate font size and padding for text.
*/
titleSize?: TitleSize;
}
export interface IHeaderTitleAreaProps {
/**
* An optional className to pass to the title area element
*/
className?: string;
}
export interface IHeaderTitleRowProps {
/**
* An optional className to pass to the title row element
*/
className?: string;
}
export interface IHeaderProps extends ICustomHeaderProps {
/**
* If these props are provided, the Header will draw a back button before the
* header's title. By default this will use a subtle button with the "Back" icon,
* but these props can override those choices.
*/
backButtonProps?: IButtonProps;
/**
* Optional className to pass to the command bar rendered in the Header.
*/
commandBarClassName?: string;
/**
* Items to display in the far-right Command Bar
* Should influence page-wide state
*/
commandBarItems?: IObservableArray | IHeaderCommandBarItem[];
/**
* Secondary text to display in the header, below the title
*/
description?: React.ReactNode;
/**
* Optional className to pass to the description in the Header
*/
descriptionClassName?: string;
/**
* An optional id used for the descriptions's text. Can be used in conjunction with aria-describedby.
* getSafeId() will be called on this value.
*/
descriptionId?: string;
/**
* Primary text to display in the header
*/
title?: React.ReactNode;
/**
* Optional aria level to pass to the title in the Header
*/
titleAriaLevel?: number;
/**
* Optional className to pass to the title in the Header
*/
titleClassName?: string;
/**
* Props to render the large Title Icon to the left of the Title and Description elements
*/
titleIconProps?: IIconProps;
/**
* An optional id used for the title's text. Can be used in conjunction with aria-labelledby.
* getSafeId() will be called on this value after it is passed to the
*/
titleId?: string;
/**
* Applies appropriate font size and padding for title text.
*/
titleSize?: TitleSize;
}