import { i as CompositeStoreOptions, n as CompositeStoreFunctions, s as CompositeStoreState } from "../composite-store-C5m2qUBo.js";
import { Store, StoreOptions, StoreProps } from "@ariakit/store";
import { SetState } from "@ariakit/utils";
//#region src/radio/radio-store.d.ts
/**
 * Creates a radio store.
 */
declare function createRadioStore(props?: RadioStoreProps): RadioStore;
interface RadioStoreState extends CompositeStoreState {
  /** @default true */
  focusLoop: CompositeStoreState["focusLoop"];
  /**
   * The value of the radio group.
   * @default null
   */
  value: string | number | null;
}
interface RadioStoreFunctions extends CompositeStoreFunctions {
  /**
   * Sets the [`value`](https://ariakit.com/reference/radio-provider#value)
   * state.
   * @example
   * store.setValue("apple");
   * store.setValue((value) => value === "apple" ? "orange" : "apple");
   */
  setValue: SetState<RadioStoreState["value"]>;
}
interface RadioStoreOptions extends StoreOptions<RadioStoreState, "focusLoop" | "value">, CompositeStoreOptions {
  /**
   * The default value of the radio group.
   * @default null
   */
  defaultValue?: RadioStoreState["value"];
}
interface RadioStoreProps extends RadioStoreOptions, StoreProps<RadioStoreState> {}
interface RadioStore extends RadioStoreFunctions, Store<RadioStoreState> {}
//#endregion
export { RadioStore, RadioStoreFunctions, RadioStoreOptions, RadioStoreProps, RadioStoreState, createRadioStore };
//# sourceMappingURL=radio-store.d.ts.map