import { TLayoutModelItem, ItemSide, TLayoutStructure, TMinimumLayoutModelItemProps } from './layout.constants'; declare enum ActionType { ItemRemove = 0, ItemInsertAt = 1, ItemInsertNativeAt = 2, ItemInsertNativeAtEmptyRoot = 3, ItemMoveTo = 4, ItemResize = 5 } declare type TItemRemoveAction = { type: ActionType.ItemRemove; payload: { id: string; }; }; declare type TItemInsertAtAction
= { type: ActionType.ItemInsertAt; payload: { id: string; side: ItemSide; item: TLayoutModelItem
; }; }; declare type TItemInsertNativeAtAction
= { type: ActionType.ItemInsertNativeAt; payload: { id: string; side: ItemSide; props: P; }; }; declare type TItemInsertNativeAtEmptyRootAction
= { type: ActionType.ItemInsertNativeAtEmptyRoot; payload: { props: P; }; }; declare type TItemMoveToAction = { type: ActionType.ItemMoveTo; payload: { id: string; side: ItemSide; destinationId: string; }; }; declare type TItemResizeAction = { type: ActionType.ItemResize; payload: { id1: string; size1: number; id2: string; size2: number; }; }; export declare type TLayoutAction
= TItemRemoveAction | TItemInsertAtAction
| TItemMoveToAction | TItemResizeAction | TItemInsertNativeAtAction
| TItemInsertNativeAtEmptyRootAction
; export declare const remove: (id: string) => TItemRemoveAction; export declare const insertAt:
(item: TLayoutModelItem
, id: string, side: ItemSide) => TItemInsertAtAction
; export declare const insertNativeAt:
(props: P, id: string, side: ItemSide) => TItemInsertNativeAtAction
; export declare const insertNativeAtEmptyRoot:
(props: P) => TItemInsertNativeAtEmptyRootAction
; export declare const moveTo: (id: string, destinationId: string, side: ItemSide) => TItemMoveToAction; export declare const resize: (id1: string, size1: number, id2: string, size2: number) => TItemResizeAction; export declare const reducer:
(state: TLayoutStructure
| undefined, action: TLayoutAction
) => TLayoutStructure
; export {};