import React, { type ReactNode } from 'react'; import type { NavGroup, NavItem } from '../../util/utility-types'; export type AppHeaderEventHandler = (event: React.SyntheticEvent, navItem: NavItem) => void; export type AppHeaderProps = { /** * CSS class names that can be appended to the component. */ className?: string; /** * Handle the click event for a given clickable button nav item in the header. Includes the data from the associated/clicked `NavItem` for reference * (e.g., attaching events, tracking, etc.) */ onButtonClick?: AppHeaderEventHandler; /** * Handle the click event for a given clickable link nav item in the header. Includes the data from the associated/clicked `NavItem` for reference * (e.g., attaching events, tracking, etc.) */ onLinkClick?: AppHeaderEventHandler; /** * Web location for the home page. Use this to direct where the main page of the application lives. */ href?: string; /** * Sets of navigation groups in the header. Consider using 2-3 at maximum. Each NavGroup can contain many NavItems */ navGroups?: NavGroup[]; /** * Sets the default orientation of the App Header. * * * `vertical` alignment places the navigation along the left edge of the screen * * `horizontal` alignment spans the top portion of the screen and can flex into a responsive display with an expanding vertical menu * * **Default is `"horizontal"`**. */ orientation?: 'vertical' | 'horizontal'; /** * Determines how the appheader attaches to the window. * * * `floating` describes an overlay appearance where `AppHeader` is not flush with the edge of the window * * `docked' describes an appearance where `AppHeader` is flush with the edge of the window */ style?: 'floating' | 'docked'; /** * Text used to describe the contents of the page with more detail. */ subTitle?: string; /** * Element used for the application's logo (can be text or an image) */ title: ReactNode; }; /** * `import {AppHeader} from "@chanzuckerberg/eds";` * * Provides app-level navigation and serves as the `
` element for accessibility landmarks */ export declare const AppHeader: { ({ className, href, navGroups, onButtonClick, onLinkClick, orientation, style, subTitle, title, ...other }: AppHeaderProps): React.JSX.Element; displayName: string; };