import { Recorder } from "./recorder";
import type {
  Camera,
  DeviceType,
  Display,
  DisplayRecordingItem,
  FileResult,
  Microphone,
  RecorderOptions,
  RecordingItem,
  RecordingMode,
  RecordingResult,
  WebcamRecordingItem,
} from "./types";
import {
  createOutputDirectory,
  getCameras,
  getDisplays,
  getMicrophones,
} from "./utils";

// Export Recorder class
export { Recorder };

// Export utility functions and types
export { createOutputDirectory, getCameras, getDisplays, getMicrophones };

// Export types
export type {
  Camera,
  DeviceType,
  Display,
  DisplayRecordingItem,
  FileResult,
  Microphone,
  RecorderOptions,
  RecordingItem,
  RecordingMode,
  RecordingResult,
  WebcamRecordingItem,
};
