import type { Apodization1DOptions, BaselineCorrectionOptions, MatrixOptions } from '@zakodium/nmr-types'; import type { Spectrum } from '@zakodium/nmrium-core'; import type { Draft } from 'immer'; import type { FilterEntry } from '../../../data/types/common/FilterEntry.ts'; import type { ExclusionZone } from '../../../data/types/data1d/ExclusionZone.js'; import type { State, TraceDirection } from '../Reducer.js'; import type { ActionType } from '../types/ActionType.js'; interface ShiftOneDimension { shift: number; } interface ShiftTwoDimensions { shiftX?: number; shiftY?: number; } type ShiftSpectrumOptions = ShiftOneDimension | ShiftTwoDimensions; type ShiftSpectrumAction = ActionType<'SHIFT_SPECTRUM', ShiftSpectrumOptions>; type ApodizationFilterAction = ActionType<'APPLY_APODIZATION_FILTER', { options: Apodization1DOptions; }>; type ApodizationDimensionOneFilterAction = ActionType<'APPLY_APODIZATION_DIMENSION_ONE_FILTER', { options: Apodization1DOptions; }>; type ApodizationDimensionTwoFilterAction = ActionType<'APPLY_APODIZATION_DIMENSION_TWO_FILTER', { options: Apodization1DOptions; }>; type ApodizationFilterLiveAction = ActionType<'CALCULATE_APODIZATION_FILTER', { options: Apodization1DOptions; livePreview: boolean; tempRollback?: boolean; }>; type ApodizationDimensionOneFilterLiveAction = ActionType<'CALCULATE_APODIZATION_DIMENSION_ONE_FILTER', { options: Apodization1DOptions; livePreview: boolean; }>; type ApodizationDimensionTwoFilterLiveAction = ActionType<'CALCULATE_APODIZATION_DIMENSION_TWO_FILTER', { options: Apodization1DOptions; livePreview: boolean; }>; interface ZeroFillingOptions { nbPoints: number; } type ZeroFillingFilterAction = ActionType<'APPLY_ZERO_FILLING_FILTER', { options: ZeroFillingOptions; }>; type ZeroFillingDimensionOneFilterAction = ActionType<'APPLY_ZERO_FILLING_DIMENSION_ONE_FILTER', { options: ZeroFillingOptions; }>; type ZeroFillingDimensionTwoFilterAction = ActionType<'APPLY_ZERO_FILLING_DIMENSION_TWO_FILTER', { options: ZeroFillingOptions; }>; type ZeroFillingFilterLiveAction = ActionType<'CALCULATE_ZERO_FILLING_FILTER', { options: ZeroFillingOptions; livePreview: boolean; }>; type ZeroFillingDimensionOneFilterLiveAction = ActionType<'CALCULATE_ZERO_FILLING_DIMENSION_ONE_FILTER', { options: ZeroFillingOptions; livePreview: boolean; }>; type ZeroFillingDimensionTwoFilterLiveAction = ActionType<'CALCULATE_ZERO_FILLING_DIMENSION_TWO_FILTER', { options: ZeroFillingOptions; livePreview: boolean; }>; type ManualPhaseCorrectionFilterAction = ActionType<'APPLY_MANUAL_PHASE_CORRECTION_FILTER' | 'CALCULATE_MANUAL_PHASE_CORRECTION_FILTER', { ph0: number; ph1: number; }>; type ManualTwoDimensionsPhaseCorrectionFilterAction = ActionType<'CALCULATE_TOW_DIMENSIONS_MANUAL_PHASE_CORRECTION_FILTER', { ph0: number; ph1: number; applyOn2D?: boolean; }>; type BaselineCorrectionFilterOptions = Omit; interface BaselineCorrectionFilterProps { options: BaselineCorrectionFilterOptions; livePreview: boolean; } type BaselineCorrectionFilterAction = ActionType<'APPLY_BASE_LINE_CORRECTION_FILTER', { options: BaselineCorrectionFilterOptions; }>; type BaselineCorrectionFilterLiveAction = ActionType<'CALCULATE_BASE_LINE_CORRECTION_FILTER', BaselineCorrectionFilterProps>; type EnableFilterAction = ActionType<'ENABLE_FILTER', { id: string; enabled: boolean; }>; type DeleteFilterAction = ActionType<'DELETE_FILTER', { id?: string; }>; type DeleteSpectraFilterAction = ActionType<'DELETE_SPECTRA_FILTER', { filterName: string; }>; type SetFilterSnapshotAction = ActionType<'SET_FILTER_SNAPSHOT', { filter: FilterEntry; tempRollback: boolean; triggerSource?: 'none' | 'processedToggle'; }>; type ExclusionZoneFilterAction = ActionType<'APPLY_EXCLUSION_ZONE', { zones: ExclusionZone[]; }>; type AddExclusionZoneAction = ActionType<'ADD_EXCLUSION_ZONE', { startX: number; endX: number; }>; type DeleteExclusionZoneAction = ActionType<'DELETE_EXCLUSION_ZONE', { zone: ExclusionZone; spectrumId?: string; }>; type ApplySignalProcessingAction = ActionType<'APPLY_SIGNAL_PROCESSING_FILTER', { options: MatrixOptions; }>; type AddPhaseCorrectionTraceAction = ActionType<'ADD_PHASE_CORRECTION_TRACE', { x: number; y: number; }>; type ChangePhaseCorrectionDirectionAction = ActionType<'CHANGE_PHASE_CORRECTION_DIRECTION', { direction: TraceDirection; }>; type DeletePhaseCorrectionTrace = ActionType<'DELETE_PHASE_CORRECTION_TRACE', { id: string; }>; type ReorderFiltersAction = ActionType<'REORDER_FILTERS', { sourceIndex: number; targetIndex: number; }>; type SetOneDimensionPhaseCorrectionPivotPoint = ActionType<'SET_ONE_DIMENSION_PIVOT_POINT', { value: number; }>; type SetTwoDimensionPhaseCorrectionPivotPoint = ActionType<'SET_TWO_DIMENSION_PIVOT_POINT', { x: number; y: number; }>; export type FiltersActions = ShiftSpectrumAction | ApodizationFilterAction | ApodizationDimensionOneFilterAction | ApodizationDimensionTwoFilterAction | ApodizationFilterLiveAction | ApodizationDimensionOneFilterLiveAction | ApodizationDimensionTwoFilterLiveAction | ZeroFillingFilterAction | ZeroFillingDimensionOneFilterAction | ZeroFillingDimensionTwoFilterAction | ZeroFillingFilterLiveAction | ZeroFillingDimensionOneFilterLiveAction | ZeroFillingDimensionTwoFilterLiveAction | ManualPhaseCorrectionFilterAction | BaselineCorrectionFilterAction | BaselineCorrectionFilterLiveAction | EnableFilterAction | DeleteFilterAction | DeleteSpectraFilterAction | SetFilterSnapshotAction | ExclusionZoneFilterAction | AddExclusionZoneAction | DeleteExclusionZoneAction | ApplySignalProcessingAction | AddPhaseCorrectionTraceAction | ChangePhaseCorrectionDirectionAction | DeletePhaseCorrectionTrace | SetOneDimensionPhaseCorrectionPivotPoint | SetTwoDimensionPhaseCorrectionPivotPoint | ManualTwoDimensionsPhaseCorrectionFilterAction | ReorderFiltersAction | ActionType<'APPLY_FFT_FILTER' | 'APPLY_FFT_DIMENSION_1_FILTER' | 'APPLY_FFT_DIMENSION_2_FILTER' | 'APPLY_AUTO_PHASE_CORRECTION_FILTER' | 'APPLY_ABSOLUTE_FILTER' | 'APPLY_MANUAL_PHASE_CORRECTION_TOW_DIMENSION_FILTER' | 'TOGGLE_ADD_PHASE_CORRECTION_TRACE_TO_BOTH_DIRECTIONS' | 'APPLY_AUTO_PHASE_CORRECTION_TOW_DIMENSION_FILTER'>; interface SpectrumByObjectOptions { target?: 'current'; spectrum: Spectrum | null; } interface ActiveSpectrumOptions { target: 'active'; } interface SpectrumByIndexOptions { target?: 'index'; index: number; } interface SpectrumByIdOptions { target?: 'id'; id: string; } type SpectrumOptions = SpectrumByObjectOptions | ActiveSpectrumOptions | SpectrumByIndexOptions | SpectrumByIdOptions; interface RollbackSpectrumByFilterOptions { applyFilter?: boolean; reset?: boolean; searchBy?: 'id' | 'name'; key?: string | null; targetSpectrum?: SpectrumOptions; tempRollback?: boolean; } declare function rollbackSpectrumByFilter(draft: Draft, options?: RollbackSpectrumByFilterOptions): void; export interface RollbackSpectrumOptions { filterKey?: string; reset?: boolean; tempRollback?: boolean; } declare function rollbackSpectrum(draft: Draft, options: RollbackSpectrumOptions): void; declare function handleShiftSpectrumAlongXAxis(draft: Draft, action: ShiftSpectrumAction): void; declare function handleApplyZeroFillingFilter(draft: Draft, action: ZeroFillingFilterAction): void; declare function handleApplyZeroFillingDimensionOneFilter(draft: Draft, action: ZeroFillingDimensionOneFilterAction): void; declare function handleApplyZeroFillingDimensionTwoFilter(draft: Draft, action: ZeroFillingDimensionTwoFilterAction): void; declare function handleCalculateZeroFillingFilter(draft: Draft, action: ZeroFillingFilterLiveAction): void; declare function handleCalculateZeroFillingDimensionOneFilter(draft: Draft, action: ZeroFillingDimensionOneFilterLiveAction): void; declare function handleCalculateZeroFillingDimensionTwoFilter(draft: Draft, action: ZeroFillingDimensionTwoFilterLiveAction): void; declare function handleCalculateApodizationFilter(draft: Draft, action: ApodizationFilterLiveAction): void; declare function handleCalculateApodizationDimensionOneFilter(draft: Draft, action: ApodizationDimensionOneFilterLiveAction): void; declare function handleCalculateApodizationDimensionTwoFilter(draft: Draft, action: ApodizationDimensionTwoFilterLiveAction): void; declare function handleApplyApodizationFilter(draft: Draft, action: ApodizationFilterAction): void; declare function handleApplyApodizationDimensionOneFilter(draft: Draft, action: ApodizationDimensionOneFilterAction): void; declare function handleApplyApodizationDimensionTwoFilter(draft: Draft, action: ApodizationDimensionTwoFilterAction): void; declare function handleApplyFFTFilter(draft: Draft): void; declare function handleApplyFFtDimension1Filter(draft: Draft): void; declare function handleApplyFFtDimension2Filter(draft: Draft): void; declare function handleApplyManualPhaseCorrectionFilter(draft: Draft, action: ManualPhaseCorrectionFilterAction): void; declare function handleAddPhaseCorrectionTrace(draft: Draft, action: AddPhaseCorrectionTraceAction): void; declare function handleToggleAddTracesToBothDirections(draft: Draft): void; declare function handleChangePhaseCorrectionDirection(draft: Draft, action: ChangePhaseCorrectionDirectionAction): void; declare function handleDeletePhaseCorrectionTrace(draft: Draft, action: DeletePhaseCorrectionTrace): void; declare function handleCalculateManualPhaseCorrection(draft: Draft, action: ManualPhaseCorrectionFilterAction): void; declare function handleApplyAbsoluteFilter(draft: Draft): void; declare function handleApplyAutoPhaseCorrectionFilter(draft: Draft): void; declare function handleBaseLineCorrectionFilter(draft: Draft, action: BaselineCorrectionFilterAction): void; declare function calculateBaseLineCorrection(draft: Draft, baseLineOptions?: BaselineCorrectionFilterProps): void; declare function handleCalculateBaseLineCorrection(draft: Draft, action: BaselineCorrectionFilterLiveAction): void; declare function handleEnableFilter(draft: Draft, action: EnableFilterAction): void; declare function handleDeleteFilter(draft: Draft, action: DeleteFilterAction): void; declare function handleDeleteSpectraFilter(draft: Draft, action: DeleteSpectraFilterAction): void; declare function handleSetFilterSnapshotHandler(draft: Draft, action: SetFilterSnapshotAction): void; declare function handleSignalProcessingFilter(draft: Draft, action: ApplySignalProcessingAction): void; declare function handleApplyExclusionZone(draft: Draft, action: ExclusionZoneFilterAction): void; declare function handleAddExclusionZone(draft: Draft, action: AddExclusionZoneAction): void; declare function handleDeleteExclusionZone(draft: Draft, action: DeleteExclusionZoneAction): void; declare function handleSetOneDimensionPhaseCorrectionPivotPoint(draft: Draft, action: SetOneDimensionPhaseCorrectionPivotPoint): void; declare function handleSetTwoDimensionPhaseCorrectionPivotPoint(draft: Draft, action: SetTwoDimensionPhaseCorrectionPivotPoint): void; declare function handleCalculateManualTwoDimensionPhaseCorrection(draft: Draft, action: ManualTwoDimensionsPhaseCorrectionFilterAction): void; declare function handleApplyManualTowDimensionsPhaseCorrectionFilter(draft: Draft): void; declare function handleApplyAutoPhaseCorrectionTwoDimensionsFilter(draft: Draft): void; declare function handleReorderFilters(draft: Draft, action: ReorderFiltersAction): void; export { calculateBaseLineCorrection, handleAddExclusionZone, handleAddPhaseCorrectionTrace, handleApplyAbsoluteFilter, handleApplyApodizationDimensionOneFilter, handleApplyApodizationDimensionTwoFilter, handleApplyApodizationFilter, handleApplyAutoPhaseCorrectionFilter, handleApplyAutoPhaseCorrectionTwoDimensionsFilter, handleApplyExclusionZone, handleApplyFFTFilter, handleApplyFFtDimension1Filter, handleApplyFFtDimension2Filter, handleApplyManualPhaseCorrectionFilter, handleApplyManualTowDimensionsPhaseCorrectionFilter, handleApplyZeroFillingDimensionOneFilter, handleApplyZeroFillingDimensionTwoFilter, handleApplyZeroFillingFilter, handleBaseLineCorrectionFilter, handleCalculateApodizationDimensionOneFilter, handleCalculateApodizationDimensionTwoFilter, handleCalculateApodizationFilter, handleCalculateBaseLineCorrection, handleCalculateManualPhaseCorrection, handleCalculateManualTwoDimensionPhaseCorrection, handleCalculateZeroFillingDimensionOneFilter, handleCalculateZeroFillingDimensionTwoFilter, handleCalculateZeroFillingFilter, handleChangePhaseCorrectionDirection, handleDeleteExclusionZone, handleDeleteFilter, handleDeletePhaseCorrectionTrace, handleDeleteSpectraFilter, handleEnableFilter, handleReorderFilters, handleSetFilterSnapshotHandler, handleSetOneDimensionPhaseCorrectionPivotPoint, handleSetTwoDimensionPhaseCorrectionPivotPoint, handleShiftSpectrumAlongXAxis, handleSignalProcessingFilter, handleToggleAddTracesToBothDirections, rollbackSpectrum, rollbackSpectrumByFilter, }; //# sourceMappingURL=FiltersActions.d.ts.map