import { Reducer } from 'redux';
import * as Actions from '@shopify/app-bridge-core/actions';
export interface ReducerMap {
    [key: string]: Reducer;
}
export interface InitialStateMap {
    [key: string]: any;
}
/**
 * A utility to reset the reducer state when `APICLIENT::LOAD`
 * or `APICLIENT::UNLOAD` is dispatched
 * @internal
 * @param reducer - the reducer which should be reset
 * @param initialState - an option value the state should be set to when it's reset
 * */
export declare function resetAppReducer(reducer: Reducer, initialState?: any): Reducer;
/**
 * A utility to reset the reducer state when `PRIVATE_APP::RESET` is dispatched
 * @internal
 * @param reducer - the reducer which should be reset
 * */
export declare function resetStateReducer(reducer: Reducer): Reducer;
/**
 * A utility to reset the state of a reducer when an action is dispatched
 * @internal
 * @param reducer - the reducer which should be reset
 * @param type - the action type
 * @param initialState - an option value the state should be set to when it's reset
 */
export declare function resetReducer(reducer: Reducer, type: string, initialState?: any): Reducer;
/**
 * Wrap multiple reducers in a given wrapper function
 * @internal
 * @param reducers - a reducer map object
 * @param wrapper - the function to wrap the reducer map object
 * @param initialState - an optional value map for the state to be given to the wrapper
 */
export declare function wrapReducers<T extends ReducerMap>(reducers: T, wrapper: (reducer: Reducer, initialState?: InitialStateMap) => Reducer, initialState?: InitialStateMap): T;
/**
 * Return all action types for an action group name
 * @internal
 */
export declare function getGroupActionType(group: Actions.Group): (typeof Actions.History.Action | typeof Actions.Redirect.Action)[] | (typeof Actions.ResourcePicker.Action)[] | (typeof Actions.unstable_Picker.Action)[] | (typeof Actions.NavigationMenu.Action | typeof Actions.ChannelMenu.Action)[] | (typeof Actions.WebVitals.Action | typeof Actions.Performance.Action | typeof Actions.Features.Action | typeof Actions.LeaveConfirmation.Action | typeof Actions.FeedbackModal.Action | typeof Actions.Cart.Action | typeof Actions.TitleBar.Action | typeof Actions.Pos.Action | typeof Actions.SessionToken.Action | typeof Actions.Error.Action | typeof Actions.ContextualSaveBar.Action | typeof Actions.Fullscreen.Action | typeof Actions.Toast.Action | typeof Actions.AuthCode.Action | typeof Actions.Share.Action | typeof Actions.Scanner.Action | typeof Actions.Print.Action | typeof Actions.Button.Action | typeof Actions.ButtonGroup.Action | typeof Actions.Client.Action | typeof Actions.Loading.Action | typeof Actions.MarketingExternalActivityTopBar.Action | typeof Actions.Modal.Action)[];
