import { KeyboardEvent, MouseEvent } from 'react';
type NonNativeButtonAttrs = {
    onKeyDown?: (event: KeyboardEvent) => void;
    onClick?: (event: MouseEvent) => void;
    isDisabled?: boolean;
    tabIndex?: number;
};
export declare function getTabIndex(isDisabled?: boolean, tabIndex?: number): number;
export declare function shouldSubmitViaKeyDown(e: KeyboardEvent): boolean;
export declare function getNonNativeButtonAttrs({ onKeyDown, onClick, tabIndex, isDisabled, }: NonNativeButtonAttrs): {
    tabIndex: number;
    role: string;
    'aria-disabled': boolean;
    onKeyDown(e: KeyboardEvent): void;
    onClick(e: MouseEvent): void;
};
export declare function useNonNativeButtonAttrs({ onKeyDown, onClick, tabIndex, isDisabled, }: NonNativeButtonAttrs): {
    tabIndex: number;
    role: string;
    'aria-disabled': boolean;
    onKeyDown(e: KeyboardEvent<Element>): void;
    onClick(e: MouseEvent<Element, globalThis.MouseEvent>): void;
};
export {};
