/**
 * @public
 */
export interface DockItem {
  /**
   * A non-changing value to uniquely identify each item.
   */
  id: string;
  /**
   * Text to display for the item.
   */
  label: string;
  /**
   * Name of the icon to use.
   */
  icon: string;
  /**
   * Additional helper text for the dock item.
   * Example usage can be a keyboard shortcut to activate the dock item.
   */
  helperLabel?: string;
  /**
   * Whether the dock item should indicate it is selected.
   * These dock items normally take the user to a top-level location within
   * the navigation tree; for example "Home", "Search" or "My Account".
   * Set `selected` to `true`, when:
   * - the user interface is showing the same top-level location as the dock
   * item is pointing at, or
   * - the user interface is showing a page which is a sub-location of the
   * top-level location. For example, when user is at
   * _My Account ➡ Notification Settings_, the dock item of _My Account_
   * should have the `selected` state.
   */
  selected?: boolean;
  /**
   * Used to specify a custom component to render as a menu for the dock item.
   */
  dockMenu?: DockMenu;
  /**
   * If specified, will display a notification badge on the buttons in the dock.
   */
  badge?: number | string;
}
/**
 * @public
 */
export interface DockMenu {
  /**
   * The tag name of a custom component to be displayed in a popover when
   * clicking on the dock item this menu belongs to.
   */
  componentName: string;
  /**
   * Whether the menu is open.
   */
  menuOpen?: boolean;
  /**
   * Any properties that should be set on the custom component.
   */
  props?: {
    [key: string]: any;
  };
}
//# sourceMappingURL=dock.types.d.ts.map