import { ComponentPropsWithoutRef, ElementType, ReactNode, Ref } from 'react'; /** Disclosure state passed to a `CollapsibleIndicator` render function. */ export interface CollapsibleIndicatorState { /** Whether the disclosure is currently expanded. */ open: boolean; /** Whether the disclosure is disabled. */ disabled: boolean; } interface CollapsibleIndicatorOwnProps { /** * Indicator content. Either static markup (rotate or restyle it off the `data-open` attribute in CSS), or a render function receiving `{ open, disabled }` so you can swap glyphs entirely (chevron, plus↔minus, a spinning `×`, whatever). */ children?: ReactNode | ((state: CollapsibleIndicatorState) => ReactNode); /** Extra classes for the indicator root. */ className?: string; /** Polymorphic root element. Defaults to `'span'`. */ as?: C; /** Forwarded to the polymorphic root element. */ ref?: Ref; } export type CollapsibleIndicatorProps = CollapsibleIndicatorOwnProps & Omit, keyof CollapsibleIndicatorOwnProps>; /** Shape of `CollapsibleIndicator` defaults that can be supplied via `CladdProvider`'s `defaults` prop. */ export type CollapsibleIndicatorDefaultProps = Partial>; /** * Optional, decorative slot for a disclosure's open/closed affordance. Renders * an `aria-hidden` element carrying `data-open`, so static children can be * rotated purely in CSS - or pass a render function to swap content based on the * live `{ open, disabled }` state. * * Brings no glyph of its own (Cladd is for apps, not FAQ pages) - drop in * whatever icon you want. * * @example * * * * * @example * * {({ open }) => (open ? : )} * */ export declare const CollapsibleIndicator: (props: CollapsibleIndicatorProps) => import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=CollapsibleIndicator.d.ts.map