import { default as React, JSX } from 'react'; export interface MapAccordionProps { /** * Accordion children – typically a list of AccordionItem components. */ children?: React.ReactNode; /** * Optional custom class name for additional styling. */ className?: string; /** * Controlled prop to define which item IDs are open. * Use in combination with `onToggleItem` to manage state externally. */ openItem?: string[]; /** * Handler called when an accordion item is toggled. * Receives the toggled item's ID. */ onToggleItem?: (id: string) => void; /** * List of item IDs that should be open by default. * Used for uncontrolled behavior (default state only). * @default [] */ defaultOpenItem?: string[]; /** * If `true`, enables expander mode – typically used to show/hide the entire panel. */ expanderMode?: boolean; /** * Title shown for the expander when `expanderMode` is enabled. */ expanderTitle?: string; /** * Optional render function for a custom close button per item. * Receives the item's ID and returns a ReactNode to render. */ renderCloseButton?: (id: string) => React.ReactNode; } export interface IMapAccordionContext { /** * Function to check if a given item ID is open. */ isOpen: (id: string) => boolean; /** * Function to toggle an item open/closed. */ onToggle: (id: string) => void; /** * Optional render function for a custom close button per item. */ renderCloseButton?: (id: string) => React.ReactNode; } export declare const MapAccordionContext: React.Context; export declare const MapAccordionComponent: { (props: MapAccordionProps): JSX.Element; displayName: string; }; export declare const MapAccordion: { (props: MapAccordionProps): JSX.Element; displayName: string; } & { Item: (props: import('./map-accordion-item').MapAccordionItemProps) => JSX.Element; Content: (props: import('./map-accordion-item-content').MapAccordionItemContentProps) => JSX.Element; Header: (props: import('./map-accordion-item-header').MapAccordionItemHeaderProps) => JSX.Element; }; export default MapAccordion;