import { AuthoringLayoutItem } from '@acoustic-content-sdk/api';
import { UnaryFunction } from 'rxjs';
import { PayloadAction } from '@acoustic-content-sdk/redux-store';
export declare const ACTION_ADD_AUTH_LAYOUT = "ACTION_ADD_AUTH_LAYOUT";
export declare type AddAuthoringLayoutAction = PayloadAction<AuthoringLayoutItem>;
export declare const addAuthoringLayoutAction: UnaryFunction<AuthoringLayoutItem, AddAuthoringLayoutAction>;
/**
 * Do not add a side effect to this action
 */
export declare const ACTION_SET_AUTH_LAYOUT = "ACTION_SET_AUTH_LAYOUT";
export declare type SetAuthoringLayoutAction = PayloadAction<AuthoringLayoutItem>;
export declare const setAuthoringLayoutAction: UnaryFunction<AuthoringLayoutItem, SetAuthoringLayoutAction>;
export declare const ACTION_LOAD_AUTH_LAYOUT = "ACTION_LOAD_AUTH_LAYOUT";
export declare type LoadAuthoringLayoutAction = PayloadAction<string>;
export declare const loadAuthoringLayoutAction: UnaryFunction<string, LoadAuthoringLayoutAction>;
export declare const ACTION_GUARANTEE_AUTH_LAYOUT = "ACTION_GUARANTEE_AUTH_LAYOUT";
export declare type GuaranteeAuthoringLayoutAction = PayloadAction<string>;
export declare const guaranteeAuthoringLayoutAction: UnaryFunction<string, GuaranteeAuthoringLayoutAction>;
export declare const ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT = "ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT";
export declare type AddAuthoringLayoutIfNonExistentAction = AddAuthoringLayoutAction;
/**
 * Adds this content item to the store only if the item does not exist, yet. If the item
 * does not exist, this triggers a {@link addAuthoringLayoutAction}.
 *
 * @param aItem - the content item to add
 * @returns the action
 */
export declare const addAuthoringLayoutIfNonExistentAction: UnaryFunction<AuthoringLayoutItem, AddAuthoringLayoutIfNonExistentAction>;
