///
import React from 'react';
export interface ListProps extends React.DetailedHTMLProps, HTMLDivElement> {
show: boolean;
height?: number;
className?: string;
getRef?(e: HTMLDivElement): void;
animationTypes?: AnimationType[];
display?: React.CSSProperties['display'];
duration?: 'fast' | 'slow' | number;
tag?: keyof HTMLElementTagNameMap;
onTransitionEnd?: React.TransitionEventHandler;
}
export declare const FAST_TRANSITION_DURATION = 240;
export declare const SLOW_TRANSITION_DURATION = 480;
declare type AnimationType = 'fade' | 'collapse' | 'scale-y';
export default class AnimationList extends React.PureComponent {
element: HTMLElement;
timer: NodeJS.Timer;
hasInit: boolean;
isRender: boolean;
static defaultProps: {
display: string;
tag: string;
};
get hasAnimation(): boolean;
get hasCollapse(): boolean;
get hasTransform(): boolean;
get hasFade(): boolean;
get duration(): number;
initElement: () => void;
componentDidMount(): void;
handleShow: () => void;
handleHide: () => void;
componentDidUpdate(prevProps: ListProps): void;
getFullElementHeight: () => number;
bindListElement: (element: HTMLDivElement) => void;
render(): JSX.Element;
}
export {};