import type { debounce } from '@ui5/webcomponents-react-base';
import type { Dispatch, JSXElementConstructor, MutableRefObject, ReactElement, RefObject, SetStateAction } from 'react';
import type { ObjectPageSectionPropTypes } from '../ObjectPageSection/index.js';
import type { ObjectPageDomRef, ObjectPagePropTypes } from './types/index.js';
interface UseHandleTabSelectProps {
    onBeforeNavigate: ObjectPagePropTypes['onBeforeNavigate'];
    headerPinned: boolean;
    mode: ObjectPagePropTypes['mode'];
    setHeaderCollapsedInternal: Dispatch<SetStateAction<boolean>>;
    setScrolledHeaderExpanded: Dispatch<SetStateAction<boolean>>;
    childrenArray: ReactElement<ObjectPageSectionPropTypes, string | JSXElementConstructor<any>>[];
    handleOnSectionSelected: any;
    isProgrammaticallyScrolled: MutableRefObject<boolean>;
    setInternalSelectedSectionId: Dispatch<SetStateAction<string>>;
    objectPageRef: RefObject<ObjectPageDomRef>;
    debouncedOnSectionChange: ReturnType<typeof debounce>;
    scrollTimeout: MutableRefObject<number>;
    setSelectedSubSectionId: Dispatch<SetStateAction<string>>;
    setTabSelectId: Dispatch<SetStateAction<string | null>>;
    setWasUserSectionChange: Dispatch<SetStateAction<boolean>>;
}
export declare const useHandleTabSelect: ({ onBeforeNavigate, headerPinned, mode, setHeaderCollapsedInternal, setScrolledHeaderExpanded, childrenArray, handleOnSectionSelected, isProgrammaticallyScrolled, setInternalSelectedSectionId, objectPageRef, debouncedOnSectionChange, scrollTimeout, setSelectedSubSectionId, setTabSelectId, setWasUserSectionChange, }: UseHandleTabSelectProps) => (event: import("@ui5/webcomponents-react-base").Ui5CustomEvent<import("../../webComponents/TabContainer/index.js").TabContainerDomRef, import("@ui5/webcomponents/dist/TabContainer.js").TabContainerTabSelectEventDetail>) => void;
export {};
