import type { RefObject } from 'react'; import React from 'react'; import Scrollbars from 'react-custom-scrollbars-2'; import type { WithChildren } from '../../../utils/childTypes'; /** * The `ComponentProps` interface defines the properties for the `CustomScrollSelect` component. * This component is used to render a scrollable container with a customizable height and custom scroll behavior. * It accepts a scroll reference and provides a unique test identifier for testing purposes. */ export interface ComponentProps { /** * The height of the `CustomScrollSelect` component. This determines the maximum height * for the scrollable content area. */ height?: number; /** * A reference object that will be passed to the Scrollbars component for scroll operations. * This allows external control and access to the scroll state of the container. */ scrollRef: RefObject; /** * The `testId` property represents a unique identifier, usually in the form of a string, assigned to a component for testing purposes. * This property is crucial for uniquely identifying components during testing, allowing for more accurate and reliable tests. * * @default 'CustomScrollSelect' */ testId?: string; } /** * The `CustomScrollSelect` component provides a custom scrollable container with a vertical scrollbar, * designed for specific height constraints and enhanced scrolling behavior. It includes custom rendering * for the scrollbar track and thumb, ensuring a smooth and visually consistent experience. * * @param props The component props. * @param props.children The content to be displayed inside the scrollable container. * @param props.height The maximum height of the scrollable area. * @param props.scrollRef The ref object to track the scrollable container element. * @param props.testId A unique identifier for testing purposes, useful for identifying the component in tests. * @returns A JSX element representing a scrollable container with custom vertical scroll track and thumb. * * @example * ```tsx * * * * ``` */ declare const CustomScrollSelect: { ({ children, height, scrollRef, testId }: WithChildren): React.JSX.Element; displayName: string; }; export { CustomScrollSelect };