import { MMELEdge, MMELSubprocess } from '../../../serialize/interface/flowcontrolinterface'; import { EditorNode, EditorSubprocess } from '../../editormodel'; import { UndoReducerInterface } from '../interface'; import { ModelAction } from '../model'; interface RegCascadeAction { subtask: 'data'; from: string | undefined; to: string | undefined; ids: [string, number, number][]; } interface ElmCascadeAction { subtask: 'element'; from: string | undefined; to: string | undefined; ids: [string, number, number][]; } declare type CascadeAction = (RegCascadeAction | ElmCascadeAction) & { task: 'cascade'; }; interface NewElementAction { task: 'new-element'; value: EditorNode; page: string; x: number; y: number; } interface DeleteElementAction { task: 'delete-element'; value: EditorNode; page: string; } interface AddChildAction { task: 'add-child'; ids: [string, number, number][]; page: string; } interface RemoveChildAction { task: 'remove-child'; ids: string[]; page: string; } export interface NewEdgeAction { task: 'new-edge'; value: MMELEdge[]; page: string; } export interface DeleteEdgeAction { task: 'delete-edge'; value: string[]; page: string; } interface EditEdgeAction { task: 'edit-edge'; value: MMELEdge[]; page: string; } interface NewPageAction { task: 'new-page'; value: EditorSubprocess[]; } interface DeletePageAction { task: 'delete-page'; value: string[]; } export interface MoveAction { task: 'move'; node: string; page: string; nodetype: 'node' | 'data'; x: number; y: number; fromx: number; fromy: number; } interface ReplaceElmIdAction { task: 'replace-id'; page: string; id: string; value: string; } declare type EXPORT_ACTION = CascadeAction | NewElementAction | DeleteElementAction | MoveAction | NewEdgeAction | DeleteEdgeAction | EditEdgeAction | ReplaceElmIdAction | NewPageAction | DeletePageAction | AddChildAction | RemoveChildAction; export declare type PageAction = EXPORT_ACTION & { act: 'pages'; cascade?: ModelAction[]; }; export declare function usePages(x: Record): UndoReducerInterface, PageAction>; export declare function cascadeCheckPages(pages: Record, action: PageAction): ModelAction[] | undefined; export declare function explorePageDataNodes(page: EditorSubprocess, elms: Record): [PageAction[], PageAction[]]; export {}; //# sourceMappingURL=pages.d.ts.map