/**
 * Copyright Zendesk, Inc.
 *
 * Use of this source code is governed under the Apache License, Version 2.0
 * found at http://www.apache.org/licenses/LICENSE-2.0.
 */
import { Reducer } from 'react';
import { MenuItem, IMenuItemBase, ISelectedItem, IMenuItemGroup } from './types';
export declare const triggerLink: (element: HTMLAnchorElement, view: Window) => void;
export declare const StateChangeTypes: Record<string, string>;
export declare const isItemGroup: (item: MenuItem) => item is IMenuItemGroup;
export declare const isValidItem: (item: MenuItem) => item is IMenuItemBase;
export declare const toMenuItemKeyDownType: (type: string) => keyof typeof StateChangeTypes;
type ReducerState = {
    /** Nested menu transition state */
    focusOnOpen: boolean;
    isTransitionNext: boolean;
    isTransitionPrevious: boolean;
    transitionType: string | null;
    nestedPathIds: string[];
    valuesRef: string[];
    /** Uncontrolled state */
    focusedValue?: string | null;
    selectedItems?: ISelectedItem[];
    isExpanded?: boolean;
};
type ReducerAction = {
    type: string;
    payload: Record<string, any>;
};
export declare const stateReducer: Reducer<ReducerState, ReducerAction>;
export {};
