import React from "react";
import { ToolbarConfig } from "../client-layout/client-layout-config";
import { UserSetting } from "../../../meta/core/resources/users/user-setting.resource";
import { UserWorkspaces } from "./workspace-picker/workspace-picker-types";
import { Notification } from "../../resources/notification/notification.resource";
import { UserVisibleWorkspaceInfo } from "./visible-workspace-picker/visible-workspace-picker-types";
/**
 * Props for the {@link Toolbar} component.
 */
export interface ToolbarProps {
    /** Class name for the toolbar container */
    className?: string;
    /** Configuration object that defines the layout and behavior of the toolbar */
    config: ToolbarConfig;
    /** Current user's settings, or a promise resolving to them */
    userSettings: UserSetting[] | Promise<UserSetting[]>;
    /** The user's visible workspaces, or a promise resolving to them */
    visibleWorkspaces: UserVisibleWorkspaceInfo | Promise<UserVisibleWorkspaceInfo>;
    /** All workspaces the user belongs to, or a promise resolving to them */
    userWorkspaces: UserWorkspaces | Promise<UserWorkspaces>;
    /** List of user notifications, or a promise resolving to them */
    notifications: Notification[] | Promise<Notification[]>;
}
/**
 * Top navigation bar used in the application layout.
 *
 * @param props - {@link ToolbarProps}
 */
export declare function Toolbar({ className, config, userSettings, visibleWorkspaces, userWorkspaces, notifications, }: ToolbarProps): React.JSX.Element;
