import type { CheckboxCheckOptions } from "../checkbox/checkbox-check.js";
import type { As, Props } from "../utils/types.js";
import type { SelectStore } from "./select-store.js";
/**
 * Returns props to create a `SelectItemCheck` component. This hook must be used
 * in a component that's wrapped with `SelectItem` or the `checked` prop must be
 * explicitly passed to the component.
 * @see https://ariakit.org/components/select
 * @example
 * ```jsx
 * const props = useSelectItemCheck({ checked: true });
 * <Role {...props} />
 * ```
 */
export declare const useSelectItemCheck: import("../utils/types.js").Hook<SelectItemCheckOptions<"span">>;
/**
 * Renders a checkmark inside a `SelectItem` component. This component must be
 * wrapped with `SelectItem` or the `checked` prop must be explicitly passed to
 * the component.
 * @see https://ariakit.org/components/select
 * @example
 * ```jsx
 * const select = useSelectStore();
 * <Select store={select} />
 * <SelectPopover store={select}>
 *   <SelectItem value="Apple">
 *     <SelectItemCheck />
 *     Apple
 *   </SelectItem>
 *   <SelectItem value="Orange">
 *     <SelectItemCheck />
 *     Orange
 *   </SelectItem>
 * </SelectPopover>
 * ```
 */
export declare const SelectItemCheck: import("../utils/types.js").Component<SelectItemCheckOptions<"span">>;
export interface SelectItemCheckOptions<T extends As = "span"> extends CheckboxCheckOptions<T> {
    /**
     * Object returned by the `useSelectStore` hook. If not provided, the parent
     * `SelectList` or `SelectPopover` components' context will be used.
     */
    store?: SelectStore;
    /**
     * Whether the check mark should be shown. This value is automatically
     * inferred from the parent `SelectItem` component. Manually setting this prop
     * will override the inferred value.
     */
    checked?: boolean;
}
export type SelectItemCheckProps<T extends As = "span"> = Props<SelectItemCheckOptions<T>>;
