import { MagicFlow } from "../../../types/flow"; import React from "react"; import { Edge } from "reactflow"; import { Interactions } from "../components/InteractionSelect"; export declare const controlDuration = 200; interface FlowLayoutProps { setShowParamsComp: React.Dispatch>; flowInstance: any; } export default function useFlowLayout({ setShowParamsComp, flowInstance }: FlowLayoutProps): { controlItemGroups: (({ icon: React.JSX.Element; callback: () => void; tooltips: React.JSX.Element; isNotIcon?: undefined; } | { icon: React.JSX.Element; callback: () => void; isNotIcon: boolean; tooltips?: undefined; })[] | ({ icon: React.JSX.Element; callback: () => MagicFlow.Node[]; tooltips: string | React.JSX.Element; } | { icon: React.JSX.Element; callback: () => void; tooltips: React.JSX.Element; })[] | { icon: React.JSX.Element; callback: () => void; tooltips: React.JSX.Element; isLock: boolean; }[] | { icon: React.JSX.Element; callback: () => void; tooltips: React.JSX.Element; showMinMap: boolean; }[] | { icon: React.JSX.Element; callback: () => void; tooltips: React.JSX.Element; helperLinesEnabled: boolean; }[])[]; lastLayoutData: { undoable: boolean; nodes: MagicFlow.Node[]; edges: Edge[]; }; resetLastLayoutData: () => void; resetCanLayout: () => void; layout: (this: any, direction?: any, duration?: any) => MagicFlow.Node[]; setIsMountLayout: React.Dispatch>; showMinMap: boolean; currentZoom: number; onMove: import("lodash-es").DebouncedFunc<() => void>; interaction: Interactions; onFitView: (this: unknown) => void; onZoomIn: (this: unknown, duration?: number) => void; onZoomOut: (this: unknown) => void; onEdgeTypeChange: (this: unknown) => void; onLock: (this: unknown) => void; onInteractionChange: (this: unknown, updatedInteraction: Interactions) => void; helperLinesEnabled: boolean; }; export {};