/// import { SpringConfig } from 'simple-performant-harmonic-oscillator'; import SpringyDOMElement from './SpringyDOMElement'; export declare type SpringyStyleValue = number | 'auto'; export declare type SpringPropertyConfig = SpringConfig & { configWhenGettingBigger?: SpringConfig; configWhenGettingSmaller?: SpringConfig; onEnterFromValueOffset?: number; onEnterFromValue?: number; onEnterToValue?: SpringyStyleValue; onExitFromValue?: SpringyStyleValue; onExitToValue?: number; units?: string; }; export declare type DOMSpringConfigMap = { [key: string]: SpringPropertyConfig; }; export declare type InternalSpringyProps = { forwardedRef: any; ComponentToWrap: string; configMap?: DOMSpringConfigMap; instanceRef?: (ref: SpringyDOMElement) => void; styleOnExit?: { [key: string]: string | number; }; globalUniqueIDForSpringReuse?: string; onSpringyPropertyValueUpdate?: (property: string, value: number) => void; onSpringyPropertyValueAtRest?: (property: string, value: number) => void; springyOrderedIndex?: number; springyStyle?: { [key: string]: SpringyStyleValue; }; }; declare type SpringyProps = Pick>; declare type StyleOnExitFunction = (node: HTMLElement) => JSX.IntrinsicElements[T]; export declare type StyleOnExit = JSX.IntrinsicElements[T] | StyleOnExitFunction; export declare type SpringyDOMWrapper = (ComponentToWrap: T, configMap?: DOMSpringConfigMap, styleOnExit?: StyleOnExit) => React.ComponentClass; export declare type StyleObject = { [key: string]: number | string; }; interface DOMRectReadOnly { readonly x: number; readonly y: number; readonly width: number; readonly height: number; readonly top: number; readonly right: number; readonly bottom: number; readonly left: number; } declare global { interface ResizeObserverCallback { (entries: ResizeObserverEntry[], observer: ResizeObserver): void; } interface ResizeObserverEntry { readonly target: Element; readonly contentRect: DOMRectReadOnly; } interface ResizeObserver { observe(target: Element): void; unobserve(target: Element): void; disconnect(): void; } } declare var ResizeObserver: { prototype: ResizeObserver; new (callback: ResizeObserverCallback): ResizeObserver; }; interface ResizeObserver { observe(target: Element): void; unobserve(target: Element): void; disconnect(): void; } export default ResizeObserver;