import type { Dispatch, SetStateAction } from 'react';
import type { OffsetWell, OffsetSettingsInput, OffsetSettingsOutput } from '../../OffsetWellPickerV5.types';
import type { FilterState, FilterMutationSource } from '../../stores/filter-store/types';
import type { SelectionZone } from '../../types/SelectionZone';
export type ExternalOffsetsWells = Record<string, number[]>;
export type UseSaveResetParams = {
    selectedWells: OffsetWell[];
    selectedWellsCount: number;
    setSelectedWells: Dispatch<SetStateAction<OffsetWell[]>>;
    selectedWellSection: string;
    setSelectedWellSection: Dispatch<SetStateAction<string>>;
    currentSelectionZone: SelectionZone | null;
    setCurrentSelectionZone: Dispatch<SetStateAction<SelectionZone | null>>;
    abandonPendingSearch: () => void;
    externalOffsets: ExternalOffsetsWells | null;
    maxOffsetSize: number;
    offsetSettings: OffsetSettingsInput | undefined;
    assetCompanyId: number | undefined;
    subjectWellId: number | undefined;
    subjectWell: OffsetWell | null;
    filters: FilterState | null;
    metricsKeys: string[];
    isMapHidden: boolean;
    isFilterExpanded: boolean;
    isLimitedOffsetWells: boolean;
    isLoadAllWells: boolean;
    companyProvider: string | null;
    isWDUser: boolean;
    isManualWellsEnabled: boolean;
    hasValidAssetId: boolean;
    isAllWellsLoaded: boolean;
    idasWellIds: number[];
    owsWellIds: number[];
    wellhubWellIds: number[];
    wells: OffsetWell[] | null;
    rawWellsWithSubject: OffsetWell[] | null;
    pinnedWells: OffsetWell[] | null;
    onClose: (() => void) | undefined;
    onSave: ((offsetSettings: OffsetSettingsOutput, selectedWells?: OffsetWell[]) => void) | undefined;
    setFilters: (filters: FilterState, source?: FilterMutationSource) => void;
    resetFilters: () => void;
    resetSelectionTool: () => void;
    resetIsLoadAllWells: () => void;
    resetSafeguard: () => void;
    updateSelectedWellsBySection: (section: string) => Promise<void>;
};
export type UseSaveResetReturn = {
    isSynced: boolean;
    isXtoProvider: boolean;
    isXtoIdas: boolean;
    syncedOffsetLabel: string;
    savedOffsetLabel: string;
    resetTooltipLabel: string;
    isResetVisible: boolean;
    hasOffsetSource: boolean;
    hasSavedHandpicked: boolean;
    handleSave: () => void;
    handleCancel: () => void;
    handleReset: () => Promise<void>;
    applyResetFromExternalOffsets: () => Promise<void>;
};
//# sourceMappingURL=useSaveReset.types.d.ts.map