import * as React from 'react'; import { PureComponent } from 'react'; import { EasingInput } from './easing'; type AnimateStep = { duration: number; style: Record; easing?: 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear' | ((...args: any[]) => any); properties?: ReadonlyArray; onAnimationEnd?: () => void; }; export interface AnimateProps { from?: Record; to?: Record; attributeName?: string; duration?: number; begin?: number; easing?: EasingInput; steps?: ReadonlyArray; children?: React.ReactNode | ((style: Record | string) => React.ReactNode); isActive?: boolean; canBegin?: boolean; onAnimationEnd?: () => void; shouldReAnimate?: boolean; onAnimationStart?: () => void; onAnimationReStart?: () => void; } type AnimateState = { style: Record; }; export declare class Animate extends PureComponent { static displayName: string; static defaultProps: Partial; private mounted; private manager; private stopJSAnimation; private unSubscribe; constructor(props: AnimateProps, context: any); componentDidMount(): void; componentDidUpdate(prevProps: AnimateProps): void; componentWillUnmount(): void; handleStyleChange(style: any): void; changeStyle(style: Record): void; runJSAnimation(props: AnimateProps): void; runStepAnimation(props: AnimateProps): void; runAnimation(props: AnimateProps): void; render(): string | number | boolean | Iterable | React.JSX.Element; } export {};