import { Driver } from "../../../driver/driver.js";
import { DecoderSource } from "../../../driver/fns/schematic.js";
import { WaveformOptions, WaveformTileData, WaveformTimeRange } from "./parts/types.js";
export declare class Waveform {
    #private;
    readonly color: string;
    readonly duration: number;
    readonly tileSize: number;
    readonly tileHeight: number;
    readonly preloadMargin: number;
    private constructor();
    static init(driver: Driver, source: DecoderSource, options?: WaveformOptions): Promise<Waveform>;
    /** Waveform render density in pixels per second. */
    set zoom(pixelsPerSecond: number);
    get zoom(): number;
    get range(): WaveformTimeRange;
    set range(visibleRange: WaveformTimeRange);
    getTiles(): Map<number, WaveformTileData>;
}
