import { O } from "./o.js";
import { Item } from "../parts/item.js";
import { Media } from "../parts/media.js";
import { Driver } from "../../driver/driver.js";
import { Datafile } from "../utils/datafile.js";
import { TimelineFile } from "../parts/basics.js";
import { ResourcePool } from "../parts/resource-pool.js";
import { VideoPlayer } from "../renderers/player/player.js";
export declare class Omni {
    private driver;
    resources: ResourcePool;
    constructor(driver: Driver);
    load: <S extends Record<string, Promise<Datafile>>>(spec: S) => Promise<{ [K in keyof S]: Media; }>;
    timeline: (fn: (o: O) => Item.Any) => TimelineFile;
    playback: (timeline: TimelineFile) => Promise<VideoPlayer>;
    render: (timeline: TimelineFile, framerate?: number) => Promise<{
        readable: ReadableStream<import("mediabunny").StreamTargetChunk>;
        done: Promise<void>;
    }>;
}
