import type { AccordionListProps, BaseAccordionItem } from "./AccordionList.types";
/**
 * AccordionList - A flexible component for displaying lists of items
 * Supports two modes:
 * - accordion: Expandable items with collapsible content
 * - list: Flat list of items (similar to client notes/communications)
 *
 * **IMPORTANTE - Paginación:**
 * Este componente NO maneja paginación internamente. El padre debe:
 * 1. Pasar solo items de la página actual (ej: 20-30 items)
 * 2. Calcular totalPages basado en total de registros del backend
 * 3. Manejar onPageChange para fetch de nuevos datos
 *
 * @example
 * ```tsx
 * // Accordion mode (Social Networks - Proposed Content)
 * <AccordionList
 *   mode="accordion"
 *   items={contents}
 *   header={{
 *     getTitle: (item) => item.title,
 *     getMetadata: (item) => [
 *       { key: "type", label: item.type, color: "primary" }
 *     ]
 *   }}
 *   content={{
 *     render: (item) => <div>{item.description}</div>
 *   }}
 *   actions={[
 *     { key: "edit", icon: "solar:pen-outline", onPress: handleEdit },
 *     { key: "delete", icon: "solar:trash-bin-minimalistic-outline", onPress: handleDelete, color: "danger" }
 *   ]}
 * />
 *
 * // List mode (Clients - Notes History)
 * <AccordionList
 *   mode="list"
 *   items={notes}
 *   header={{
 *     getTitle: (item) => item.title,
 *     getSubtitle: (item) => item.description
 *   }}
 *   actions={[
 *     { key: "edit", icon: "solar:pen-outline", onPress: handleEdit },
 *     { key: "delete", icon: "solar:trash-bin-minimalistic-outline", onPress: handleDelete, color: "danger" }
 *   ]}
 * />
 *
 * // With pagination (controlled by parent)
 * <AccordionList
 *   items={currentPageItems}  // Only items of current page
 *   pagination={{
 *     currentPage: 1,
 *     totalPages: Math.ceil(totalRecords / pageSize), // Based on backend total
 *     onPageChange: (page) => fetchPage(page) // Parent fetches new data
 *   }}
 * />
 * ```
 */
export declare function AccordionList<T extends BaseAccordionItem = BaseAccordionItem>({ items, header, content, actions, mode, pagination, isLoading, emptyState, sectionTitle, sectionIcon, showCount, className, accordionVariant, selectionMode, disableIndicatorAnimation, loadingComponent, emptyStateComponent, }: AccordionListProps<T>): import("react/jsx-runtime").JSX.Element | null;
export declare namespace AccordionList {
    var displayName: string;
}
//# sourceMappingURL=AccordionList.d.ts.map