import * as React from 'react' ; import { RefObject } from 'react' ; import { ForwardRefExoticComponent } from 'react' ; import { RefAttributes } from 'react' ; export type Axis = 'v' | 'h' ; export interface RemoveScrollEffectCallbacks { onScrollCapture ( event ) : void ; onWheelCapture ( event ) : void ; onTouchMoveCapture ( event ) : void ; } export interface ChildrenNode { see IRemoveScrollSelfProps . as forwardProps ? : false ; children : React . ReactNode ; } export interface ChildrenForward { see IRemoveScrollSelfProps . as forwardProps : true ; children : React . ReactElement ; } export interface IRemoveScrollSelfProps { default noIsolation ? : boolean ; default see { IRemoveScrollSelfProps . noIsolation } inert ? : boolean ; /**
     * allows pinch-zoom, however might work not perfectly for normal scroll
     */ allowPinchZoom ? : boolean ; /**
     * switches on/off the behavior of the component
     */ enabled ? : boolean ; default removeScrollBar ? : boolean ; className ? : string ; style ? : React . CSSProperties ; /**
     * array of refs to other Elements, which should be considered as a part of the Lock
     */ shards ? : Array < React . RefObject < any > | HTMLElement > ; default as ? : string | React . ElementType ; } export type IRemoveScrollProps = IRemoveScrollSelfProps & ( ChildrenForward | ChildrenNode ) ; export type IRemoveScrollUIProps = IRemoveScrollProps & { sideCar : React . FC < any > ; } ; export interface IRemoveScrollEffectProps { noIsolation ? : boolean ; removeScrollBar ? : boolean ; allowPinchZoom : boolean ; inert ? : boolean ; shards ? : Array < React . RefObject < any > | HTMLElement > ; lockRef : RefObject < HTMLElement > ; setCallbacks ( cb ) : void ; } interface WithClassNames { classNames : { fullWidth : string ; zeroRight : string ; } ; } type RefForwarded < T > = ForwardRefExoticComponent < T & RefAttributes < HTMLElement > > & WithClassNames ; export type RemoveScrollType = RefForwarded < IRemoveScrollProps > ; export type RemoveScrollUIType = RefForwarded < IRemoveScrollUIProps > ;