import { type ComponentProps } from 'react'; import { ScrollView } from 'react-native'; import { RootMargin } from './IntersectionObserver'; export interface IOComponentProps { rootMargin?: RootMargin; } /** * @category Functions * @kind function * @name withIO * @description * 특정 컴포넌트에서 Intersection Observer 기능을 사용할 수 있도록 `IOContext` 를 래핑하는 `HoC` 에요. * * @argument * @param {React.ComponentType} [BaseComponent] - 컴포넌트가 마운트될 때 호출되는 콜백 함수예요. * @param {string[]} [methods] - 바인딩할 BaseComponent의 이벤트 핸들러 이름 목록이에요. * @returns {React.ComponentType} - Intersection Observer 기능을 사용할 수 있도록 래핑된 컴포넌트를 반환해요. */ export declare function withIO, 'horizontal' | 'scrollEventThrottle' | 'onContentSizeChange' | 'onLayout' | 'onScroll'>>(BaseComponent: React.ComponentType, methods: string[]): typeof BaseComponent;