import type { InitializeGraphStateParams } from "./initialize-graph-state"; import type { InteractionMode } from "../types"; import type { Interval, vec } from "mafs"; export type InteractiveGraphAction = Reinitialize | MovePointInFigure | MoveLine | MoveAll | MovePoint | MoveCenter | MoveRadiusPoint | ChangeSnapStep | ChangeRange | AddPoint | RemovePoint | FocusPoint | BlurPoint | DeleteIntent | ClickPoint | ClosePolygon | OpenPolygon | ChangeInteractionMode | ChangeKeyboardInvitationVisibility; export declare const actions: { global: { deleteIntent: typeof deleteIntent; changeInteractionMode: typeof changeInteractionMode; changeKeyboardInvitationVisibility: typeof changeKeyboardInvitationVisibility; }; angle: { movePoint: typeof movePoint; }; circle: { moveCenter: typeof moveCenter; moveRadiusPoint: typeof moveRadiusPoint; }; linear: { moveLine: (delta: vec.Vector2) => MoveLine; movePoint: (pointIndex: any, destination: any) => MovePointInFigure; }; linearSystem: { moveLine: typeof moveLine; movePointInFigure: typeof movePointInFigure; }; pointGraph: { movePoint: typeof movePoint; addPoint: typeof addPoint; removePoint: typeof removePoint; focusPoint: typeof focusPoint; blurPoint: typeof blurPoint; clickPoint: typeof clickPoint; }; polygon: { movePoint: typeof movePoint; moveAll: typeof moveAll; addPoint: typeof addPoint; removePoint: typeof removePoint; focusPoint: typeof focusPoint; blurPoint: typeof blurPoint; clickPoint: typeof clickPoint; closePolygon: typeof closePolygon; openPolygon: typeof openPolygon; }; quadratic: { movePoint: typeof movePoint; }; ray: { moveRay: (delta: vec.Vector2) => MoveLine; movePoint: (pointIndex: any, destination: any) => MovePointInFigure; }; segment: { movePointInFigure: typeof movePointInFigure; moveLine: typeof moveLine; }; sinusoid: { movePoint: typeof movePoint; }; }; export declare const DELETE_INTENT = "delete-intent"; export interface DeleteIntent { type: typeof DELETE_INTENT; } declare function deleteIntent(): DeleteIntent; export declare const MOVE_LINE = "move-line"; export interface MoveLine { type: typeof MOVE_LINE; itemIndex: number; delta: vec.Vector2; } declare function moveLine(itemIndex: number, delta: vec.Vector2): MoveLine; export declare const ADD_POINT = "add-point"; export interface AddPoint { type: typeof ADD_POINT; location: vec.Vector2; } declare function addPoint(location: vec.Vector2): AddPoint; export declare const REMOVE_POINT = "remove-point"; export interface RemovePoint { type: typeof REMOVE_POINT; index: number; } declare function removePoint(index: number): RemovePoint; export declare const FOCUS_POINT = "focus-point"; export interface FocusPoint { type: typeof FOCUS_POINT; index: number; } declare function focusPoint(index: number): FocusPoint; export declare const BLUR_POINT = "blur-point"; export interface BlurPoint { type: typeof BLUR_POINT; } declare function blurPoint(): BlurPoint; export declare const CLICK_POINT = "click-point"; export interface ClickPoint { type: typeof CLICK_POINT; index: number; } declare function clickPoint(index: number): ClickPoint; export declare const CHANGE_INTERACTION_MODE = "point-change-interaction-mode"; export interface ChangeInteractionMode { type: typeof CHANGE_INTERACTION_MODE; mode: InteractionMode; } declare function changeInteractionMode(mode: InteractionMode): ChangeInteractionMode; export declare const CHANGE_KEYBOARD_INVITATION_VISIBILITY = "change-keyboard-interaction-invitation-visibility"; export interface ChangeKeyboardInvitationVisibility { type: typeof CHANGE_KEYBOARD_INVITATION_VISIBILITY; shouldShow: boolean; } declare function changeKeyboardInvitationVisibility(shouldShow: boolean): ChangeKeyboardInvitationVisibility; export declare const CLOSE_POLYGON = "close-polygon"; interface ClosePolygon { type: typeof CLOSE_POLYGON; } declare function closePolygon(): ClosePolygon; export declare const OPEN_POLYGON = "open-polygon"; interface OpenPolygon { type: typeof OPEN_POLYGON; } declare function openPolygon(): OpenPolygon; export declare const MOVE_ALL = "move-all"; export interface MoveAll { type: typeof MOVE_ALL; delta: vec.Vector2; } declare function moveAll(delta: vec.Vector2): MoveAll; export declare const MOVE_POINT = "move-point"; export interface MovePoint { type: typeof MOVE_POINT; index: number; destination: vec.Vector2; } declare function movePoint(index: number, destination: vec.Vector2): MovePoint; export declare const MOVE_POINT_IN_FIGURE = "move-point-in-figure"; export interface MovePointInFigure { type: typeof MOVE_POINT_IN_FIGURE; figureIndex: number; pointIndex: number; destination: vec.Vector2; } declare function movePointInFigure(figureIndex: number, pointIndex: number, destination: vec.Vector2): MovePointInFigure; export declare const MOVE_CENTER = "move-center"; export interface MoveCenter { type: typeof MOVE_CENTER; destination: vec.Vector2; } declare function moveCenter(destination: vec.Vector2): MoveCenter; export declare const MOVE_RADIUS_POINT = "MOVE_RADIUS_POINT"; export interface MoveRadiusPoint { type: typeof MOVE_RADIUS_POINT; destination: vec.Vector2; } declare function moveRadiusPoint(destination: vec.Vector2): MoveRadiusPoint; export declare const CHANGE_SNAP_STEP = "change-snap-step"; export interface ChangeSnapStep { type: typeof CHANGE_SNAP_STEP; snapStep: [x: number, y: number]; } export declare function changeSnapStep(snapStep: [x: number, y: number]): ChangeSnapStep; export declare const CHANGE_RANGE = "change-range"; export interface ChangeRange { type: typeof CHANGE_RANGE; range: [x: Interval, y: Interval]; } export declare function changeRange(range: [x: Interval, y: Interval]): ChangeRange; export declare const REINITIALIZE = "reinitialize"; interface Reinitialize { type: typeof REINITIALIZE; params: InitializeGraphStateParams; } export declare function reinitialize(params: InitializeGraphStateParams): Reinitialize; export {};