import { r as CompositeStoreItem, t as CompositeStore } from "../composite-store-9jZQUYDt.js";
//#region src/composite/composite-context.d.ts
/**
 * Returns the composite store from the nearest composite container.
 * @example
 * function CompositeItem() {
 *   const store = useCompositeContext();
 *
 *   if (!store) {
 *     throw new Error("CompositeItem must be wrapped in CompositeProvider");
 *   }
 *
 *   // Use the store...
 * }
 */
declare const useCompositeContext: () => CompositeStore<CompositeStoreItem> | undefined;
declare const useCompositeScopedContext: (onlyScoped?: boolean) => CompositeStore<CompositeStoreItem> | undefined;
declare const useCompositeProviderContext: () => CompositeStore<CompositeStoreItem> | undefined;
declare const CompositeContextProvider: (props: import("react").ProviderProps<CompositeStore<CompositeStoreItem> | undefined>) => import("react").JSX.Element;
declare const CompositeScopedContextProvider: (props: import("react").ProviderProps<CompositeStore<CompositeStoreItem> | undefined>) => import("react").JSX.Element;
interface ItemContext {
  compositeElement?: HTMLElement;
  id?: string;
}
declare const CompositeItemContext: import("react").Context<ItemContext | undefined>;
interface RowContext extends ItemContext {
  ariaSetSize?: number;
  ariaPosInSet?: number;
}
declare const CompositeRowContext: import("react").Context<RowContext | undefined>;
//#endregion
export { CompositeContextProvider, CompositeItemContext, CompositeRowContext, CompositeScopedContextProvider, useCompositeContext, useCompositeProviderContext, useCompositeScopedContext };
//# sourceMappingURL=composite-context.d.ts.map