import { SxProps, Theme } from '@mui/material';
import { EnvironmentInfo, MenuOption } from '../../../@types';
import * as React from 'react';
export type HeaderProps = {
    /**
     * Provides environment info for lower environments. Automatically hidden when `isProd` is true.
     */
    envInfo?: EnvironmentInfo;
    headerRef?: React.RefObject<HTMLElement | null>;
    /**
     * App logo image. Can be a path to an image (string) or a ReactNode for more fine-tuned control.
     */
    logo: string | React.ReactNode;
    /**
     * Features that appear below the primary header.
     * Intended for general navigation within the application.
     *
     * NOTE: For each `MenuOption`, if `path` is defined, but NOT `onClick`, it will behave as a link. Otherwise, it will
     * behave as a button.
     */
    featureMenuOptions?: MenuOption[];
    /**
     * User Actions that will appear on the user profile dropdown button.
     * These are for logged in users so they only display when `displayName` is not undefined
     */
    userMenuOptions?: MenuOption[];
    onToggleDarkMode?: () => void;
    /**
     * Appear directly in header on the right side. Useful for quick-access general links such as FAQ
     * Recommend no more than 3.
     *
     * NOTE: For each `MenuOption`, if `path` is defined, but NOT `onClick`, it will behave as a link. Otherwise, it will
     * behave as a button.
     */
    quickLinks?: MenuOption[];
    /**
     * Display Name for the user that is currently logged in. Set as undefined if no user is logged in.
     * Ex: `displayName={isAuthenticated ? userName : undefined}
     */
    displayName?: string;
    /**
     * Appears above the app header. Useful for simple announcements/etc.
     */
    banner?: React.ReactNode;
    position?: 'absolute' | 'sticky' | 'relative' | 'static' | 'fixed';
    /**
     * Children will be rendered in between quickLinks & user dropdown.
     *
     * IMPORTANT: Children will NOT display on mobile, so if you render any navigation links here, you will need to
     * add logic to pass those links to `userActions` when screen size is less than or equal to `sm` (default is <=600 px).
     */
    children?: React.ReactNode;
    /**
     * Style overrides for Mui's AppBar
     */
    sx?: SxProps<Theme>;
    /**
     * Style overrides for the NavBar
     */
    navBarSx?: SxProps<Theme>;
};
export declare const Header: React.FC<HeaderProps>;
export default Header;
