import { RegionBound } from "./env";
import { Option } from "@opendaw/lib-std";
import { LoopableRegion, TempoMap } from "@opendaw/lib-dsp";
import { Peaks } from "@opendaw/lib-fusion";
import { AudioFileBoxAdapter, AudioPlayMode } from "@opendaw/studio-adapters";
import { TimelineRange } from "../timeline/TimelineRange";
export declare namespace AudioRenderer {
    type Segment = {
        x0: number;
        x1: number;
        u0: number;
        u1: number;
        outside: boolean;
    };
    interface Strategy {
        render(context: CanvasRenderingContext2D, segments: ReadonlyArray<Segment>, peaks: Peaks, bound: RegionBound, gain: number): void;
    }
    const DefaultStrategy: Strategy;
    const render: (context: CanvasRenderingContext2D, range: TimelineRange, file: AudioFileBoxAdapter, tempoMap: TempoMap, playMode: Option<AudioPlayMode>, waveformOffset: number, gain: number, bound: RegionBound, contentColor: string, { rawStart, resultStart, resultEnd }: LoopableRegion.LoopCycle, clip?: boolean, strategy?: Strategy) => void;
}
//# sourceMappingURL=audio.d.ts.map