// Generated by dts-bundle-generator v7.2.0 import React from 'react'; import { HTMLAttributes, ReactNode } from 'react'; declare const accordion: { sprinkle: ((props: { borderTop?: "base" | "none" | undefined; borderBottom?: "base" | "none" | undefined; padding?: "base" | "none" | undefined; }) => string) & { properties: Set<"borderBottom" | "borderTop" | "padding">; }; properties: { borderTop: { none: string; base: string; }; borderBottom: { none: string; base: string; }; padding: { none: string; base: string; }; }; classnames: { header: string; header_static: string; header__content: string; header__description: string; header__title: string; header_active: string; body: string; }; }; export interface AccordionBodyProperties { /** * The content of the accordion body. * @TJS-type React.ReactNode */ children: ReactNode; /** * The borderBottom property defines a lower border of the accordion body. * @default none */ borderBottom?: keyof typeof accordion.properties.borderBottom; /** * The borderTop property defines a top border of the accordion body. * @default none */ borderTop?: keyof typeof accordion.properties.borderTop; /** * Padding properties are used to generate space around the content area of an Accordion.Body.. * @default base */ padding?: keyof typeof accordion.properties.padding; } export type AccordionBodyProps = AccordionBodyProperties & HTMLAttributes; export declare const AccordionBody: React.FC; export interface AccordionItemProperties { /** * The content of the accordion body. * @TJS-type React.ReactNode */ children: ReactNode; /** * Unique indicator to identify accordion items */ index: string; /** * Determines if the accordion item is interactive (clickable) or static. * When false, the header renders as a div without click handlers, hover effects, or toggle icon. * @default true */ interactive?: boolean; /** * This is an attribute used to identify a DOM node for testing purposes. */ testId?: string; } export type AccordionItemProps = AccordionItemProperties; export declare const AccordionItem: React.FC; export interface AccordionHeaderProperties { /** * The content of the accordion header. * @TJS-type React.ReactNode | ((data: { selected: string; index: string }) => React.ReactNode); */ children?: ReactNode | ((data: { selected: string; index: string; }) => ReactNode); /** * The title to display in the accordion header. */ title?: string; /** * The subtitle to display in the accordion header. */ subtitle?: string; /** * The SVG contents to display in the accordion header. * @TJS-type React.ReactNode */ icon?: ReactNode; /** * Removes the arrow icon that shows if the accordion item is open or not which makes it possible to create a custom indicator. * @default false */ noIconToggle?: boolean; /** * The borderTop property defines a lower border of the accordion header. * @default base */ borderTop?: keyof typeof accordion.properties.borderTop; /** * The borderBottom property defines a lower border of the accordion header. */ borderBottom?: keyof typeof accordion.properties.borderBottom; } export type AccordionHeaderProps = AccordionHeaderProperties & Omit, "children">; export declare const AccordionHeader: React.FC; export interface AccordionComponents { Body: typeof AccordionBody; Item: typeof AccordionItem; Header: typeof AccordionHeader; } export interface AccordionBaseProperties { /** * The content of the accordion. * @TJS-type React.ReactNode */ children?: ReactNode; } export interface UncontrolledAccordionProperties extends AccordionBaseProperties { /** * Informs which accordion item is open by default, this value must be the same as informed in the index of each item */ selectedDefault?: string; } export interface ControlledAccordionProperties extends AccordionBaseProperties { /** * The currently selected accordion item ID. */ selectedItem: string; /** * Callback fired when the selected accordion item changes. * @param selectedId The ID of the selected accordion item */ onItemSelect?: (selectedId: string) => void; } /** * Props for the Accordion component, supporting both controlled and uncontrolled modes */ export type AccordionProps = (UncontrolledAccordionProperties | ControlledAccordionProperties) & Omit, "onItemSelect" | "selectedItem">; export type AccordionProperties = AccordionBaseProperties & UncontrolledAccordionProperties & ControlledAccordionProperties; export declare const Accordion: React.FC & AccordionComponents; export {};