/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '../../utilities';
import { HTMLAttributes } from 'react';
export declare type ITopBar = GenericProps & HTMLAttributes<HTMLDivElement> & {
    /**
     * Prop to set a banner for displaying text such as `Beta` or `Sale`.
     *
     * Default is `an empty string`.
     */
    banner?: string;
    /**
     * Prop to add click behaviour.
     *
     * Default is `an empty object`.
     */
    onMenuClick?: () => void;
    /**
     * Prop to set the secondary brand on the TopBar Organism.
     *
     * Default is `an empty object`.
     */
    primaryBrand: ITopBarPrimaryContent;
    /**
     * Prop to set the secondary brand on the TopBar Organism.
     *
     * Default is `an empty object`.
     */
    secondaryBrand?: ITopBarSecondaryContent;
    /**
     * Prop to specify when to show the menu toggle button displayed on smaller devices at the left hand-side.
     *
     * Default is `true`.
     */
    showMenuToggle?: boolean;
    /**
     * Prop to denote the User for the TopBar Organism.
     *
     * Default is `an empty object`.
     */
    user?: ITopBarUser;
};
export declare type ITopBarPrimaryContent = GenericProps & {
    /**
     * Prop to set an ariaLabel on the TopBar's primary content.
     *
     * If no `ariaLabel` is provided, the `name` is used.
     *
     * Default is the component's `name`.
     */
    ariaLabel: string;
    /**
     * Prop to denote wether or not to hide the logo on the TopBar's primary content.
     *
     * If set to true, the logo will be hidden on small to large devices.
     * If set to false, the logo will not be hidden on small to large devices.
     * If set to undefined, the logo will be displayed on large devices BUT NOT on smaller devices.
     *
     * Default is `false`.
     */
    hidden?: boolean;
    /**
     * Prop to set a logo for the TopBar's primary content.
     *
     * Default is `an empty string`.
     */
    logo?: React.ReactNode;
    /**
     * Prop to set the click behaviour for the TopBar's primary content.
     *
     * Default is `an empty object`.
     */
    onClick?: () => void;
};
export declare type ITopBarSecondaryContent = GenericProps & {
    /**
     * Prop to set an ariaLabel on the TopBar's secondary content.
     *
     * If no `ariaLabel` is provided, the `name` is used.
     *
     * Default is the component's `name`.
     */
    ariaLabel?: string;
    /**
     * Sets if the TopBar's secondary content should be in a loading state or not.
     *
     * If set to true, the TopBar's secondary content will enter a loading state.
     * If set to false, the TopBar's secondary content will render as normal.
     *
     * Default is `false`.
     */
    loading?: boolean;
    /**
     * Sets the logo of the TopBar's secondary content.
     *
     * Default is `an empty object`.
     */
    logo?: React.ReactNode;
    /**
     * Sets the name of the TopBar's secondary content.
     *
     * Default is `an empty string`.
     */
    name: string;
    /**
     * Prop to set the click behaviour of the TopBar's secondary content.
     *
     * Default is `an empty object`.
     */
    onClick?: () => void;
};
export declare type ITopBarUser = GenericProps & {
    /**
     * Prop to set an alternative text describing the image.
     *
     * Default is an `empty string`.
     */
    alt?: string;
    /**
     * Prop to specify the content of the Popover Menu for the user Avatar.
     *
     * Default is `an empty object`.
     */
    content?: React.ReactNode;
    /**
     * Prop to set the email address for the User.
     *
     * Default is `an empty string`.
     */
    email?: string;
    /**
     * Prop to specify the icon used.
     *
     * Default is `an empty string`.
     */
    icon?: React.ReactNode;
    /**
     * Prop to specify the image URL.
     *
     * Default is `an empty string`.
     */
    src?: string;
};
export declare type ISecondaryBrandName = GenericProps & {
    /**
     * Prop to set if the Secondary Brand Name should be truncated or not.
     *
     * If set to true, the Secondary Brand Name will be limited to a custom-set limit. For instance, `{x.length > 50}`.
     * If set to false, the Prop does nothing.
     *
     * Default is `false`.
     */
    truncated: boolean;
};
export interface IPopover {
    activator: React.ReactNode;
}
