import * as React from 'react'; import { IPreviewController } from '@dcl/schemas/dist/dapps/preview'; import './EmoteControls.css'; export declare type EmoteControlsProps = { wearablePreviewId: string; className?: string; hideFrameInput?: boolean; hideProgressInput?: boolean; hidePlayButton?: boolean; hideSoundButton?: boolean; wearablePreviewController?: IPreviewController; renderPlayButton?: (props: { isPlaying: boolean; onPlay: () => Promise; onPause: () => Promise; onToggle: () => Promise; }) => React.ReactNode; renderSoundButton?: (props: { isSoundEnabled: boolean; hasSound: boolean; onToggle: () => void; }) => React.ReactNode; renderProgressBar?: (props: { frame: number; length: number; onChange: (value: number) => Promise; onMouseUp: () => Promise; }) => React.ReactNode; renderFrameInput?: (props: { frame: number; onChange: (value: number) => Promise; }) => React.ReactNode; }; declare type EmoteControlsState = { frame: number; isPlaying: boolean; playingIntervalId?: number; length?: number; isSoundEnabled: boolean; hasSound: boolean; shouldResumePlaying: boolean; isChangingFrame: boolean; }; export declare class EmoteControls extends React.PureComponent { previewController: IPreviewController | undefined; state: EmoteControlsState; handleAnimationLoop: () => void; handleAnimationEnd: () => void; handleAnimationPause: () => void; handleAnimationPlay: () => Promise; handleAnimationPlaying: ({ length }: { length: any; }) => void; componentDidMount(): void; handlePlay: () => Promise; handlePause: () => Promise; handlePlayPause: () => Promise; handleSoundToggle: () => void; handleFrameChange: (value: number) => Promise; handleMouseUp: () => Promise; componentDidUpdate(): Promise; render(): React.JSX.Element; } export {};