/** * ViewStateController * * Manages view state including viewBox, zoom, and image filters. * Handles user interactions with the view rendering. */ import type { ViewBox } from "../../../core/types/viewer"; import type { ImageFilters } from "../../../core/types/filters"; import type { ViewerStateStores } from "../viewerState"; import type { ViewerEventEmitter } from "../../../core/types/events"; export type ViewStateControllerConfig = { state: ViewerStateStores; emitEvent: ViewerEventEmitter; applyViewBox: (viewBox: ViewBox) => void; }; export type ViewStateController = { handleViewBoxChange: (detail: { viewBox: ViewBox; }) => void; handleZoomChange: (detail: { zoom: number; viewBox: ViewBox; }) => void; handleRotationChange: (detail: { rotation: number; }) => void; updateImageFilter: (key: K, value: ImageFilters[K]) => void; resetImageFilters: () => void; setPendingViewBox: (viewBox: ViewBox | null) => void; getPendingViewBox: () => ViewBox | null; setRotation: (rotation: number) => void; getRotation: () => number; }; export declare const createViewStateController: ({ state, emitEvent, applyViewBox, }: ViewStateControllerConfig) => ViewStateController;