import { type CSSProperties } from 'react'; /** * Calculate the divider style based on animation and drag state. * * @param options - Style calculation options * * @returns The style object for the divider */ export declare function calculateDividerStyle(options: { hasRightPanelBeenVisible: boolean; isAnimating: boolean; isDragging: boolean; dividerPropsStyle?: CSSProperties; }): CSSProperties; /** * Styles returned for the controlled panel: the outer div handles layout and animation, * the inner div maintains a fixed width during animation to prevent content reflow. */ export type ControlledPanelStyles = { /** Applied to the panel div (the flex item). */ outer: CSSProperties; /** * Applied to an inner wrapper div that wraps the panel's slot content. * Maintains a fixed width during animation so the content never reflows. */ inner: CSSProperties; }; /** * Calculate the controlled panel style based on the current size state, visibility, and animation state. * * @param options - Style calculation options * * @returns Styles for the outer panel div and the inner content wrapper div. */ export declare function calculateControlledPanelStyle(options: { currentSize: number | undefined; /** The full open size of the panel, used to fix the inner wrapper width during animation. */ fullPanelSize: number; targetPanel: 'left' | 'right'; enableAutoUnmount: boolean; isRightPanelVisible: boolean; isSlideOutAnimating: boolean; hasRightPanelBeenVisible: boolean; isAnimating: boolean; panelPropsStyle?: CSSProperties; }): ControlledPanelStyles;