import React, { HTMLAttributes, FocusEvent } from 'react';
interface FocusProps {
    onBlur?: (e: FocusEvent<Element>) => void;
    onFocus?: (e: React.FocusEvent<Element>) => void;
}
export interface FocusWithinProps {
    onBlurWithin?: (e: FocusEvent<Element>) => void;
    onFocusWithin?: (e: FocusEvent<Element>) => void;
}
declare const useFocusState: (props: FocusProps) => {
    isFocused: boolean;
    focusProps: HTMLAttributes<HTMLElement>;
};
declare const useFocusWithinState: (props: FocusWithinProps) => {
    isFocusedWithin: boolean;
    focusWithinProps: HTMLAttributes<HTMLElement>;
};
declare const useFocusAndFocusWithinState: (props: FocusProps & FocusWithinProps) => {
    isFocused: boolean;
    isFocusedWithin: boolean;
    focusProps: HTMLAttributes<HTMLElement>;
};
export { useFocusState, useFocusWithinState, useFocusAndFocusWithinState };
