import * as _mui_base_ButtonUnstyled from '@mui/base/ButtonUnstyled';
import { ButtonUnstyledProps } from '@mui/base/ButtonUnstyled';
import * as _mui_base from '@mui/base';
import * as react from 'react';
import { ReactNode, SyntheticEvent, ForwardedRef, KeyboardEvent } from 'react';

interface UseTabProps extends Omit<ButtonUnstyledProps, "onChange"> {
    children: ReactNode;
    onChange?(event: SyntheticEvent, value: any): void;
    selected?: boolean;
    value: any;
}
declare function useTab({ selected, value, ...props }: UseTabProps, ref: ForwardedRef<HTMLButtonElement>): {
    ariaAttributes: react.AriaAttributes;
    classes: {
        active: boolean;
        disabled: boolean;
        focusVisible: boolean;
        selected: boolean | undefined;
    };
    getRootProps: <TOther extends _mui_base.EventHandlers = {}>(otherHandlers?: TOther | undefined) => _mui_base_ButtonUnstyled.UseButtonRootSlotProps<TOther>;
    handleKeyDown: (event: KeyboardEvent) => void;
    handleOnClick: (event: SyntheticEvent) => void | undefined;
};

export { UseTabProps as U, useTab as u };
