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 {};