import { default as VideoEditor, VideoEditorProps, VideoEditorConfig, TimelineTickConfig, TimelineZoomConfig } from './components/video-editor';
import { default as PlayerControls, PlayerControlsProps } from './components/controls/player-controls';
import { default as TimelineManager } from './components/timeline/timeline-manager';
import { usePlayerControl } from './hooks/use-player-control';
import { useEditorManager } from './hooks/use-editor-manager';
import { default as BrowserMediaManager } from './helpers/media-manager/browser-media-manager';
import { MediaItem, PaginationOptions, SearchOptions, Animation, TextEffect, ElementColors } from './helpers/types';
import { default as BaseMediaManager } from './helpers/media-manager/base-media-manager';
import { animationGifs, getAnimationGif } from './assets';
import { ANIMATIONS } from './helpers/animation-manager';
import { TEXT_EFFECTS } from './helpers/text-effects-manager';
import { default as useTimelineControl } from './hooks/use-timeline-control';
import { setElementColors } from './helpers/editor.utils';

export { setElementColors };
export type { MediaItem, PaginationOptions, SearchOptions, Animation, TextEffect, ElementColors };
export type { PlayerControlsProps, VideoEditorProps, VideoEditorConfig, TimelineTickConfig, TimelineZoomConfig };
export { ANIMATIONS, TEXT_EFFECTS };
export { usePlayerControl, useEditorManager, BrowserMediaManager, BaseMediaManager, animationGifs, getAnimationGif, PlayerControls, TimelineManager, useTimelineControl };
export * from './helpers/constants';
export default VideoEditor;
