import { VNode } from "../../stencil-public-runtime";
import { LoadableComponent } from "../../utils/loadable";
import { LocalizedComponent } from "../../utils/locale";
import { T9nComponent } from "../../utils/t9n";
import { MenuMessages } from "./assets/menu/t9n";
import { GlobalAttrComponent } from "../../utils/globalAttributes";
type Layout = "horizontal" | "vertical";
export declare class CalciteMenu implements GlobalAttrComponent, LocalizedComponent, T9nComponent, LoadableComponent {
  el: HTMLCalciteMenuElement;
  /**
   * Accessible name for the component.
   */
  label: string;
  /**
   * Specifies the layout of the component.
   */
  layout: Layout;
  handleLayoutChange(value: Layout): void;
  /**
   * Use this property to override individual strings used by the component.
   */
  messageOverrides: Partial<MenuMessages>;
  onMessagesChange(): void;
  /**
   * Made into a prop for testing purposes only.
   *
   * @internal
   */
  messages: MenuMessages;
  defaultMessages: MenuMessages;
  effectiveLocale: string;
  effectiveLocaleChange(): void;
  globalAttributes: {
    role: string;
  };
  menuItems: HTMLCalciteMenuItemElement[];
  connectedCallback(): void;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  /** Sets focus on the component's first focusable element. */
  setFocus(): Promise<void>;
  calciteInternalNavMenuItemKeyEvent(event: CustomEvent): void;
  handleMenuSlotChange: (event: Event) => void;
  focusParentElement(el: HTMLCalciteMenuItemElement): void;
  setMenuItemLayout(items: HTMLCalciteMenuItemElement[], layout: Layout): void;
  render(): VNode;
}
export {};
