import { PayloadAction } from "@reduxjs/toolkit"; export declare type TextZoom = { scaled_num: string; reference: number; factor: number; max_webgl_fs: number; }; export declare type TextVector = { [x: string]: any; inst_offset: number[]; new_offset: number[]; }; export interface ZoomRestriction extends MinMaxDimension { ratio: number; } export declare type ZoomRestrictions = { x: ZoomRestriction; y: ZoomRestriction; }; export declare type ZoomAxisData = { inst_zoom: number; pan_by_zoom: number; pan_by_drag: number; cursor_position: number; cursor_rel_min: number; filter_zoom: number; pan_room: number; prev_restrict: boolean; show_text: boolean; still_zooming: boolean; total_pan_max: number; total_pan_min: number; total_zoom: number; zoom_step: number; viz_offcenter: number; heat_offset: number; inst_eff_zoom: number; fully_zoomed_out: boolean; pbz_relative_min: number; pbz_relative_max: number; }; export declare type ZoomData = { x: ZoomAxisData; y: ZoomAxisData; }; export declare type MinMaxDimension = { min: number; max: number; }; export declare type Dimension = { x: number; y: number; }; export declare type VisualizationDimensions = { canvas: { [x: string]: number; width: number; height: number; }; center: Dimension; shift_camera: Dimension; heat_size: Dimension; mat_size: Dimension; heat: { width: number; height: number; x: MinMaxDimension; y: MinMaxDimension; }; mat: { height: number; width: number; x: MinMaxDimension; y: MinMaxDimension; }; offcenter: Dimension; tile_height: number; tile_width: number; }; export declare type TextTriangles = { row: Record>; col: Record>; draw: Record; }; export interface VisualizationState { allow_zoom?: { row: number; col: number; }; is_downsampled: boolean; tile_pix_width: number; tile_pix_height: number; zoom_restrict: ZoomRestrictions; max_zoom: number; text_zoom?: { row?: TextZoom; col?: TextZoom; }; text_triangles?: TextTriangles; max_num_text: number; zoom_data: ZoomData; viz_dim: VisualizationDimensions; reset_cameras: boolean; rootElementId: string; total_mouseover: number; debug: boolean; } export declare const visualizationSlice: (id: string) => import("@reduxjs/toolkit").Slice, action: PayloadAction) => import("immer/dist/internal").WritableDraft; mutateVisualizationState: (state: import("immer/dist/internal").WritableDraft, action: PayloadAction>) => import("immer/dist/internal").WritableDraft; mutateZoomData: (state: import("immer/dist/internal").WritableDraft, action: PayloadAction>) => import("immer/dist/internal").WritableDraft; setZoomData: (state: import("immer/dist/internal").WritableDraft, action: PayloadAction) => import("immer/dist/internal").WritableDraft; setVisualizationDimensions: (state: import("immer/dist/internal").WritableDraft, action: PayloadAction) => import("immer/dist/internal").WritableDraft; setTotalMouseover: (state: import("immer/dist/internal").WritableDraft, action: PayloadAction) => import("immer/dist/internal").WritableDraft; }, `${string}_visualization`>;