import React from 'react';
import { Filter, TimeRangeFilter } from '@kepler.gl/types';
import AnimationSpeedSliderFactory from './animation-speed-slider';
import WindowActionControlFactory from './window-action-control';
import AnimationWindowControlFactory, { AnimationItem } from './animation-window-control';
import ResetControlFactory from './reset-control';
import PlayControlFactory from './play-control';
import { BaseComponentProps } from '../../types';
export type StyledAnimationControlsProps = BaseComponentProps & {
    width?: number;
};
export interface PlaybackControlsProps {
    filter?: Filter;
    isAnimatable?: boolean;
    isAnimating?: boolean;
    width?: number;
    speed: number;
    animationWindow?: null | TimeRangeFilter['animationWindow'];
    setFilterAnimationWindow?: (id: string) => void;
    updateAnimationSpeed?: (idx: number, speed: number) => void;
    pauseAnimation?: () => void;
    resetAnimation?: () => void;
    startAnimation: () => void;
    playbackIcons?: Record<string, React.FC<{
        height: number;
    }>>;
    animationItems?: {
        [key: string]: AnimationItem;
    };
    buttonStyle?: string;
    buttonHeight?: string;
    playbackActionItems?: React.FC[];
    className?: string;
}
declare function PlaybackControlsFactory(AnimationSpeedSlider: ReturnType<typeof AnimationSpeedSliderFactory>, WindowActionControl: any, AnimationWindowControl: any, ResetControl: any, PlayControl: any): React.FC<PlaybackControlsProps>;
declare namespace PlaybackControlsFactory {
    var deps: (typeof AnimationSpeedSliderFactory | typeof WindowActionControlFactory | typeof AnimationWindowControlFactory | typeof ResetControlFactory | typeof PlayControlFactory)[];
}
export default PlaybackControlsFactory;
