import { i as CollectionStoreOptions, n as CollectionStoreFunctions, o as CollectionStoreState } from "./collection-store-CS0ODeba.js";
import { PickRequired } from "@ariakit/utils";
import { Store } from "@ariakit/react-store";
import * as Core from "@ariakit/components/composite/composite-store";
//#region src/composite/composite-store.d.ts
declare function useCompositeStoreOptions<T extends Core.CompositeStoreOptions>(props: T): {
  id: string | undefined;
} & T;
declare function useCompositeStoreProps<T extends Core.CompositeStore>(store: T, update: () => void, props: CompositeStoreProps): T;
/**
 * Creates a composite store to control the state of
 * [Composite](https://ariakit.com/components/composite) components.
 * @see https://ariakit.com/components/composite
 * @example
 * ```jsx
 * const composite = useCompositeStore();
 *
 * <Composite store={composite}>
 *   <CompositeItem>Item</CompositeItem>
 *   <CompositeItem>Item</CompositeItem>
 *   <CompositeItem>Item</CompositeItem>
 * </Composite>
 * ```
 */
declare function useCompositeStore<T extends CompositeStoreItem = CompositeStoreItem>(props: PickRequired<CompositeStoreProps<T>, "items" | "defaultItems">): CompositeStore<T>;
declare function useCompositeStore(props?: CompositeStoreProps): CompositeStore;
interface CompositeStoreItem extends Core.CompositeStoreItem {}
interface CompositeStoreState<T extends CompositeStoreItem = CompositeStoreItem> extends Core.CompositeStoreState<T>, CollectionStoreState<T> {}
interface CompositeStoreFunctions<T extends CompositeStoreItem = CompositeStoreItem> extends Core.CompositeStoreFunctions<T>, CollectionStoreFunctions<T> {}
interface CompositeStoreOptions<T extends CompositeStoreItem = CompositeStoreItem> extends Core.CompositeStoreOptions<T>, CollectionStoreOptions<T> {
  /**
   * A callback that gets called when the
   * [`activeId`](https://ariakit.com/reference/composite-provider#activeid)
   * state changes.
   */
  setActiveId?: (activeId: CompositeStoreState<T>["activeId"]) => void;
}
interface CompositeStoreProps<T extends CompositeStoreItem = CompositeStoreItem> extends CompositeStoreOptions<T>, Core.CompositeStoreProps<T> {}
interface CompositeStore<T extends CompositeStoreItem = CompositeStoreItem> extends CompositeStoreFunctions<T>, Store<Core.CompositeStore<T>> {}
//#endregion
export { CompositeStoreProps as a, useCompositeStoreOptions as c, CompositeStoreOptions as i, useCompositeStoreProps as l, CompositeStoreFunctions as n, CompositeStoreState as o, CompositeStoreItem as r, useCompositeStore as s, CompositeStore as t };
//# sourceMappingURL=composite-store-9jZQUYDt.d.ts.map