import { ActionCreatorsMapObject, AnyAction } from 'redux'; import { AppLink, NavigationMenu, ChannelMenu } from '@shopify/app-bridge-core/actions'; import type { Feature } from '../../../../withFeature'; /** * The interface for the mapped Menu actions dispatcher * @internal * */ export interface MenuActionCreatorsMap extends ActionCreatorsMapObject { updateNavigationMenu: typeof NavigationMenu.update; } /** * Returns a mapped object with methods for dispatching Menu actions * @internal * */ export declare const menuActionCreatorsMap: MenuActionCreatorsMap; /** * The interface for the Navigation Menu action group state * @internal * */ export interface NavigationMenuStore { items: AppLink.Payload[]; active?: string; } /** * The interface for the Channel Menu action group state * @internal * */ export interface ChannelMenuStore { items: AppLink.Payload[]; active?: string; } /** * The interface for the Menu state * @internal * */ export interface MenuStore { navigationMenu?: NavigationMenuStore; channelMenu?: ChannelMenuStore; } export type Action = NavigationMenu.NavigationMenuAction | ChannelMenu.ChannelMenuAction | AnyAction; /** * The default loading state * @internal */ export declare const defaultMenuStore: { navigationMenu: undefined; channelMenu: undefined; }; /** * Returns the updated menu state * @internal */ export default function menuReducer(state: MenuStore | undefined, action: Action): MenuStore; /** * The interface props that are passed down to the Menu component * as a the result of calling the `withFeature` decorator * @public * */ export interface WithFeature { actions: MenuActionCreatorsMap; store: MenuStore; } /** * An object containing the key, actions, initial state and reducer of the Menu feature * Can be used with the `withFeature` decorator to add the reducer * and then make its actions and store available to the wrapped component * @public * */ export declare const feature: Feature;