import * as Core from "@ariakit/core/checkbox/checkbox-store"; import type { BivariantCallback, PickRequired } from "@ariakit/core/utils/types"; import type { Store } from "../utils/store.tsx"; export declare function useCheckboxStoreProps(store: T, update: () => void, props: CheckboxStoreProps): T; /** * Creates a checkbox store to conveniently manage a checkbox value, * whether it's a string, number, boolean, or an array of strings or numbers. * @see https://ariakit.com/components/checkbox * @example * ```jsx * const checkbox = useCheckboxStore({ defaultValue: true }); * * ``` */ export declare function useCheckboxStore(props: PickRequired, "value" | "defaultValue">): CheckboxStore; export declare function useCheckboxStore(props?: CheckboxStoreProps): CheckboxStore; export type CheckboxStoreValue = Core.CheckboxStoreValue; export type CheckboxStoreState = Core.CheckboxStoreState; export type CheckboxStoreFunctions = Core.CheckboxStoreFunctions; export interface CheckboxStoreOptions extends Core.CheckboxStoreOptions { /** * A callback that gets called when the * [`value`](https://ariakit.com/reference/checkbox-provider#value) state * changes. * @example * function MyCheckbox({ value, onChange }) { * const checkbox = useCheckboxStore({ value, setValue: onChange }); * } */ setValue?: BivariantCallback<(value: CheckboxStoreState["value"]) => void>; } export interface CheckboxStoreProps extends CheckboxStoreOptions, Core.CheckboxStoreProps { } export interface CheckboxStore extends CheckboxStoreFunctions, Store> { }