import type { Dispatch, MutableRefObject, SetStateAction } from 'react';
import type { OffsetWell } from '../../OffsetWellPickerV5.types';
import type { SelectionZone } from '../../types/SelectionZone';
import type { BatchSelectResult, ExternalOffsetsWells } from './useWellSelection.types';
type UseSelectionHandlersParams = {
    subjectWell: OffsetWell | null;
    wells: OffsetWell[] | null;
    filteredWells: OffsetWell[] | null;
    externalOffsets: ExternalOffsetsWells | null;
    rawWellsWithSubject: OffsetWell[] | null;
    maxOffsetWellNumber: number;
    maxOffsetSize: number;
    fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;
    setSelectedWells: Dispatch<SetStateAction<OffsetWell[]>>;
    setCurrentSelectionZone: Dispatch<SetStateAction<SelectionZone | null>>;
    setSelectedWellSection: Dispatch<SetStateAction<string>>;
    hasUserSelectionEditsRef: MutableRefObject<boolean>;
};
type UseSelectionHandlersReturn = {
    handleChangeOffsetWell: (well: OffsetWell, checked: boolean) => void;
    handleChangeAllOffsetWells: (checked: boolean) => void;
    handleBatchSelectWells: (wellsToSelect: OffsetWell[], onComplete?: (result: BatchSelectResult) => void, options?: {
        override?: boolean;
    }) => void;
    handleSelectionZoneConfirm: (zone: SelectionZone | null) => void;
    handleChangeWellSection: (section: string) => Promise<void>;
    updateSelectedWellsBySection: (section: string) => Promise<void>;
};
/**
 * Provides all selection handler callbacks: single well toggle,
 * select/deselect all, batch select, zone confirm, and section change.
 */
export declare const useSelectionHandlers: ({ subjectWell, wells, filteredWells, externalOffsets, rawWellsWithSubject, maxOffsetWellNumber, maxOffsetSize, fetchSearchedWells, setSelectedWells, setCurrentSelectionZone, setSelectedWellSection, hasUserSelectionEditsRef, }: UseSelectionHandlersParams) => UseSelectionHandlersReturn;
export {};
//# sourceMappingURL=useSelectionHandlers.d.ts.map