import { type KeyboardMovementProps, type KeyboardMovementProviderImplementation, type SimpleKeyboardMovementWrapperOptions } from "../movement/types.js";
/**
 * @since 6.4.0
 */
export interface SpinButtonGroupProviderOptions<E extends HTMLElement = HTMLElement> extends SimpleKeyboardMovementWrapperOptions<E> {
    /**
     * Set this to `true` to update the container's `onClick` handler to move
     * focus to the first spinbutton that does not have a value or the first
     * spinbutton in the group so that focus is always moved to the spin buttons.
     *
     * @defaultValue `false`
     */
    forceFocusWithin?: boolean;
}
export interface ProvidedSpinButtonGroupProps<E extends HTMLElement = HTMLElement> extends KeyboardMovementProps<E> {
    role: "group";
}
/**
 * @since 6.4.0
 */
export interface SpinButtonGroupProviderImplementation<E extends HTMLElement = HTMLElement> extends KeyboardMovementProviderImplementation<E> {
    movementProps: Readonly<ProvidedSpinButtonGroupProps<E>>;
}
/**
 * @since 6.4.0
 */
export declare function useSpinButtonGroupProvider<E extends HTMLElement = HTMLElement>(options?: SpinButtonGroupProviderOptions<E>): SpinButtonGroupProviderImplementation<E>;
