import { Action as BaseAction } from 'redux';
import { Features, Group, MetaAction } from '@shopify/app-bridge-core/actions';
import { RequestUpdateOptions } from '@shopify/app-bridge-core/actions/Features/types';
import type { FeaturesState, FeaturesAvailable } from '@shopify/app-bridge-core/client';
export interface UpdateAction extends MetaAction {
    group: typeof Group.Features;
    readonly type: typeof Features.Action.UPDATE;
    readonly payload: FeaturesState<Partial<FeaturesAvailable>>;
}
export interface RequestUpdateAction extends MetaAction {
    group: typeof Group.Features;
    readonly type: typeof Features.Action.REQUEST_UPDATE;
    readonly payload: RequestUpdateOptions;
}
export interface LegacyFeaturesAction {
    [key: string]: boolean;
}
export type LegacyFeaturesAvailable = {
    [key in Group]?: LegacyFeaturesAction;
};
export interface LegacyUpdateAction extends BaseAction {
    readonly type: typeof Features.Action.UPDATE;
    readonly payload: LegacyFeaturesAvailable;
}
export declare function update(payload: FeaturesState<Partial<FeaturesAvailable>>): UpdateAction;
export declare function requestUpdate(payload: RequestUpdateOptions): RequestUpdateAction;
