import React, { ReactElement, ReactNode } from 'react'; import { PlayState } from './types'; import Provider from './Provider'; declare type Label = { label: string; position: string | number; }; export declare type Targets = Map; export declare type TargetsRef = { set: (key: string, target: any) => void; }; export declare type Target = ReactElement | null; export declare type TimelineProps = { children: ReactNode; wrapper?: ReactElement; target?: Target; position?: string | number; labels?: Label[]; duration?: number; progress?: number; totalProgress?: number; playState?: PlayState; [prop: string]: any; }; declare class Timeline extends Provider { static displayName: string; timeline: any; targets: Targets; static defaultProps: { playState: PlayState; }; constructor(props: TimelineProps); componentDidMount(): void; componentWillUnmount(): void; getSnapshotBeforeUpdate(): null; componentDidUpdate(prevProps: TimelineProps): void; createTimeline(): void; getGSAP(): any; addTarget(target: any): void; setTarget(key: string, target: any): void; setTargets(targets: Targets): void; getTargets(): Targets; cloneElement(child: any): React.DetailedReactHTMLElement, HTMLElement>; renderTarget(target?: Target): ReactNode; render(): JSX.Element; } export default Timeline;