import { AccordionGroupContextProps } from './types';
/**
 * React context for AccordionGroup state management
 *
 * Provides state and control functions to accordion components within an AccordionGroup.
 * Used internally by AccordionGroupContextProvider and accessed via useAccordionGroupContext hook.
 */
export declare const AccordionGroupContext: import("react").Context<AccordionGroupContextProps>;
/**
 * Hook to access AccordionGroup context
 *
 * Returns the AccordionGroup context value including opened accordions state,
 * toggle functions, and stay-open behavior. Must be used within an AccordionGroupContextProvider.
 *
 * @returns AccordionGroupContextProps - Context value with state and control functions
 * @throws Error if used outside AccordionGroupContextProvider
 *
 * @example
 * ```tsx
 * function CustomAccordionControl() {
 *   const { openedAccordions, toggleOpenedAccordion } = useAccordionGroupContext();
 *
 *   return (
 *     <button onClick={() => toggleOpenedAccordion({ id: 'accordion-1' })}>
 *       Toggle Accordion 1
 *     </button>
 *   );
 * }
 * ```
 *
 * @see {@link AccordionGroupContextProvider} - Required provider component
 */
export declare const useAccordionGroupContext: () => AccordionGroupContextProps;
/**
 * Props for AccordionGroupContextProvider
 */
export interface AccordionGroupContextProviderProps {
    /**
     * Child components that will have access to accordion context
     * Should include AccordionGroup and Accordion components
     */
    children: React.ReactNode;
}
/**
 * AccordionGroupContextProvider - Context provider for accordion group state
 *
 * Provides accordion state management context to all child components.
 * This provider must wrap any AccordionGroup components to enable state management
 * and coordination between multiple accordions.
 *
 * @category Components
 * @subcategory Layout
 *
 * @example
 * ```tsx
 * <AccordionGroupContextProvider>
 *   <AccordionGroup>
 *     <Accordion id="1" title="Section 1" renderContent={...} renderTitle={AccordionTitle} />
 *     <Accordion id="2" title="Section 2" renderContent={...} renderTitle={AccordionTitle} />
 *   </AccordionGroup>
 * </AccordionGroupContextProvider>
 * ```
 *
 * @example
 * ```tsx
 * // Multiple accordion groups in the same provider
 * <AccordionGroupContextProvider>
 *   <AccordionGroup size="large">
 *     <Accordion id="group1-1" ... />
 *   </AccordionGroup>
 *   <AccordionGroup size="medium">
 *     <Accordion id="group2-1" ... />
 *   </AccordionGroup>
 * </AccordionGroupContextProvider>
 * ```
 *
 * @see {@link AccordionGroup} - Component that requires this provider
 * @see {@link useAccordionGroupContext} - Hook to access context
 */
export declare const AccordionGroupContextProvider: ({ children, }: AccordionGroupContextProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
