import * as React from 'react'; interface Dimensions { height: number | undefined; width: number | undefined; } /** * The shared behavior behind `Collapsible.Panel` and `Accordion.Panel`. * * Upstream's counterpart is ~550 lines that coordinate with CSS transitions and * keyframes. React Native has neither, so all that remains is measuring the * natural content size and managing the mount lifecycle; the consumer animates. */ export declare function useCollapsiblePanel(parameters: UseCollapsiblePanelParameters): { dimensions: Dimensions; props: { nativeID: string | undefined; style: { overflow: "hidden"; }; 'aria-hidden': true | undefined; accessibilityElementsHidden: boolean; importantForAccessibility: "auto" | "no-hide-descendants"; }; shouldRender: boolean; wrappedChildren: React.JSX.Element; }; /** * Padding insets that are applied to the inner measurement wrapper so the * reported `height`/`width` on the panel state reflect the padded content size. * Without this, padding on the panel element itself will cause clipped content. */ export interface MeasurePadding { top?: number; right?: number; bottom?: number; left?: number; } export interface UseCollapsiblePanelParameters { keepMounted: boolean; /** * Padding applied to the inner measurement wrapper. * Use this instead of `style.padding` on the panel element to avoid the * padding footgun where the clip height does not account for padding. */ measurePadding?: MeasurePadding | undefined; children: React.ReactNode; } export {}; //# sourceMappingURL=useCollapsiblePanel.d.ts.map