/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '@/src/utilities';
import { HTMLAttributes } from 'react';
export interface ITopBar extends GenericProps, HTMLAttributes<HTMLDivElement> {
    onMenuClick?: () => void;
    secondaryBrand?: ITopBarSecondaryContent;
    primaryBrand: ITopBarPrimaryContent;
    /**
     * For specifying when to show the menu toggle button
     * displayed on smaller devices at the left hand-side
     *
     * Default - `true`
     */
    showMenuToggle?: boolean;
    user?: ITopBarUser;
    banner?: string;
}
export interface ITopBarPrimaryContent extends GenericProps {
    logo?: React.ReactNode;
    /**
     * If no `ariaLabel` is provided, the `name` is used
     */
    ariaLabel: string;
    /**
     * `true`, logo would be hidden on small to large devices
     *
     * `false` - logo would be displayed on small and large devices
     *
     * `undefined` - logo would be display on large devices BUT NOT on smaller devices
     */
    hidden?: boolean;
    onClick?: () => void;
}
export interface ITopBarSecondaryContent extends GenericProps {
    name: string;
    logo?: React.ReactNode;
    /**
     * If no `ariaLabel` is provided, the `name` is used
     */
    ariaLabel?: string;
    onClick?: () => void;
}
export interface ITopBarUser extends GenericProps {
    /**
     * Specify the icon element
     */
    icon?: React.ReactNode;
    /**
     * Use this attribute to define the alternative text describing the image
     */
    alt?: string;
    /**
     * Specify the image url
     */
    src?: string;
    /**
     * Specify the content of the popover menu for the user Avatar
     */
    content?: React.ReactNode;
    email?: string;
}
export interface ISecondaryBrandName extends GenericProps {
    truncated: boolean;
}
export interface IPopover {
    activator: React.ReactNode;
}
