import type { NucleiPreferences } from '@zakodium/nmrium-core'; import type { Draft } from 'immer'; import type { State } from '../Reducer.js'; import type { ActionType } from '../types/ActionType.js'; type NumberExtent = [number, number]; type SetAxisDomainAction = ActionType<'SET_AXIS_DOMAIN', { nucleiPreferences: NucleiPreferences[]; }>; type SetXDomainAction = ActionType<'SET_X_DOMAIN', { xDomain: NumberExtent; }>; type SetYDomainAction = ActionType<'SET_Y_DOMAIN', { yDomain: NumberExtent; }>; export interface MoveOptions { shiftX: number; shiftY: number; } type MoveAction = ActionType<'MOVE', MoveOptions>; export type DomainActions = SetXDomainAction | SetYDomainAction | SetAxisDomainAction | MoveAction; interface GetDomainOptions { domainSpectraScope?: 'visible' | 'all'; } declare function get2DDomain(state: State): { xDomain: NumberExtent; yDomain: NumberExtent; yDomains: Record; xDomains: Record; }; export interface SetDomainOptions extends GetDomainOptions { updateYDomain?: boolean; isYDomainShared?: boolean; updateXDomain?: boolean; } declare function setDomain(draft: Draft, options?: SetDomainOptions): void; declare function setMode(draft: Draft): void; declare function handleSetXDomain(draft: Draft, action: SetXDomainAction): void; declare function handleSetYDomain(draft: Draft, action: SetYDomainAction): void; declare function handleSetAxisDomain(draft: Draft, action: SetAxisDomainAction): void; interface Domain { xDomain: number[]; yDomain: number[]; } declare function moveOverAxis(options: MoveOptions, currentDomain: Domain, originDomain: Domain): { xDomain: NumberExtent; yDomain: NumberExtent; }; declare function handleMoveOverXAxis(draft: Draft, action: MoveAction): void; export { get2DDomain, handleMoveOverXAxis, handleSetAxisDomain, handleSetXDomain, handleSetYDomain, moveOverAxis, setDomain, setMode, }; //# sourceMappingURL=DomainActions.d.ts.map