import { type KeyboardMovementProviderImplementation, type SimpleKeyboardMovementWrapperOptions } from "../movement/types.js";
/** @since 6.0.0 */
export type ExpansionListHookOptions<E extends HTMLElement> = SimpleKeyboardMovementWrapperOptions<E>;
/** @since 6.0.0 */
export type ExpansionListImplementation<E extends HTMLElement> = KeyboardMovementProviderImplementation<E>;
/**
 * @example Custom Implementation
 * ```tsx
 * import { ExpansionPanel } from "@react-md/core/expansion-panel/ExpansionPanel";
 * import { useExpansionList } from "@react-md/core/expansion-panel/useExpansionList";
 * import { useExpansionPanels } from "@react-md/core/expansion-panel/useExpansionPanels";
 * import { KeyboardMovementProvider } from "@react-md/core/movement/useKeyboardMovementProvider";
 * import { Form } from "@react-md/core/form/Form";
 * import { type ReactElement } from "react";
 *
 * import { BillingAddress } from "./BillingAddress";
 * import { BillingInformation } from "./BillingInformation";
 * import { PersonalInformation } from "./PersonalInformation";
 *
 * function Example(): ReactElement {
 *   const { movementContext, movementProps } = useExpansionList();
 *   const { getPanelProps } = useExpansionPanels();
 *
 *   return (
 *     <KeyboardMovementProvider value={movementContext}>
 *       <Form {...movementProps}>
 *         <ExpansionPanel {...getPanelProps("personal-information-panel")}>
 *           <PersonalInformation />
 *         </ExpansionPanel>
 *         <ExpansionPanel {...getPanelProps("billing-information-panel")}>
 *           <BillingInformation />
 *         </ExpansionPanel>
 *         <ExpansionPanel {...getPanelProps("billing-address-panel")}>
 *           <BillingAddress />
 *         </ExpansionPanel>
 *       </Form>
 *     </KeyboardMovementProvider>
 *   );
 * }
 * ```
 *
 * @see {@link https://react-md.dev/components/expansion-panel | ExpansionPanel Demos}
 * @since 6.0.0
 */
export declare function useExpansionList<E extends HTMLElement>(options?: ExpansionListHookOptions<E>): ExpansionListImplementation<E>;
