import { SegmentIndex, TrackSet } from "./SegmentIndex.js";
import { SegmentTransport } from "./SegmentTransport.js";
import { TimingModel } from "./TimingModel.js";
import { ThumbnailResult } from "../../transcoding/types/index.js";
import "@editframe/assets";

//#region src/elements/EFMedia/MediaEngine.d.ts
interface MediaEngine {
  readonly durationMs: number;
  readonly src: string;
  readonly index: SegmentIndex;
  readonly transport: SegmentTransport;
  readonly timing: TimingModel;
  readonly tracks: TrackSet;
  extractThumbnails(timestamps: number[], signal?: AbortSignal): Promise<(ThumbnailResult | null)[]>;
}
//#endregion
export { MediaEngine };
//# sourceMappingURL=MediaEngine.d.ts.map