import type { FocusableOptions } from "../focusable/focusable.js";
import type { As, Props } from "../utils/types.js";
/**
 * Returns props to create a `Command` component. If the element is not a native
 * clickable element (like a button), this hook will return additional props to
 * make sure it's accessible.
 * @see https://ariakit.org/components/command
 * @example
 * ```jsx
 * const props = useCommand({ render: <div /> });
 * <Role {...props}>Accessible button</Role>
 * ```
 */
export declare const useCommand: import("../utils/types.js").Hook<CommandOptions<"button">>;
/**
 * Renders a clickable element (like a button). If the underlying element is not
 * a native clickable element, this component will pass additional attributes to
 * make sure it's accessible.
 * @see https://ariakit.org/components/command
 * @example
 * ```jsx
 * <Command render={<div />}>Accessible button</Command>
 * ```
 */
export declare const Command: import("../utils/types.js").Component<CommandOptions<"button">>;
export interface CommandOptions<T extends As = "button"> extends FocusableOptions<T> {
    /**
     * If true, pressing the enter key will trigger a click on the button.
     * @default true
     */
    clickOnEnter?: boolean;
    /**
     * If true, pressing the space key will trigger a click on the button.
     * @default true
     */
    clickOnSpace?: boolean;
}
export type CommandProps<T extends As = "button"> = Props<CommandOptions<T>>;
