import { Task } from '@lit/task';
import { MediaEngine, VideoRendition } from '../../../transcoding/types';
import { EFMedia } from '../../EFMedia';
export declare const getLatestMediaEngine: (host: EFMedia, signal: AbortSignal) => Promise<MediaEngine>;
export declare const getVideoRendition: (mediaEngine: MediaEngine) => VideoRendition;
/**
 * Core logic for creating a MediaEngine with explicit dependencies.
 * Pure function that requires all dependencies to be provided.
 */
export declare const createMediaEngine: (host: EFMedia) => Promise<MediaEngine>;
/**
 * Handle completion of media engine task - triggers necessary updates.
 * Extracted for testability.
 */
export declare const handleMediaEngineComplete: (host: EFMedia) => void;
type MediaEngineTask = Task<readonly [string, string | null], MediaEngine>;
export declare const makeMediaEngineTask: (host: EFMedia) => MediaEngineTask;
export {};
