import React from 'react';
import { LinkTypes } from '../../../common/Link';
import { MASTHEAD_SUBCOMPONENT } from './constants';
import { MastheadUserProps } from './index';
import { Nav, NavItem } from '../../../common/Nav';
import { NotificationsProps } from '../NotificationPanel';
import { ValueOf } from '../../../helpers';
export interface MastheadProps {
    /**
     * Toggle whether or not to display the default logo.
     */
    hasDefaultLogo?: boolean;
    /**
     * Toggle whether there are unread notifications.
     */
    hasUnreadNotification?: boolean;
    /**
     * Link component for when a user clicks on the logo / app name.
     */
    homeLink?: React.ReactElement<LinkTypes>;
    /**
     * Which subcomponent is initially open.
     * @private
     */
    initialOpenSubcomponent?: ValueOf<typeof MASTHEAD_SUBCOMPONENT>;
    /**
     * Optional custom logo component (SVG reccomended).
     */
    Logo?: React.ComponentType;
    /**
     * Optional JSX to render the primary navigation.
     */
    nav?: React.ReactElement<Nav<NavItem>>;
    /**
     * Optional JSX to render a collection of notifications.
     */
    notifications?: React.ReactElement<NotificationsProps>;
    /**
     * Optional handler invoked when the submit search button is clicked.
     */
    onSearch?: ((event: React.FormEvent<HTMLFormElement>, term: string) => void) | null;
    /**
     * Text title of the application.
     */
    title: string;
    /**
     * Optional JSX to render a user menu.
     */
    user?: React.ReactElement<MastheadUserProps>;
}
export declare const Masthead: React.FC<MastheadProps>;
//# sourceMappingURL=Masthead.d.ts.map