import type { Element2DProperties } from '../2d';
import { Element2D } from '../2d';
import { Texture2D } from '../resources';
export interface AudioWaveformProperties extends Element2DProperties {
    src: string;
    gap: number;
    color: string;
}
export declare class AudioWaveform extends Element2D {
    src: string | undefined;
    gap: number;
    color: string;
    protected _audioBuffer?: AudioBuffer;
    protected _src: Texture2D<HTMLCanvasElement> | undefined;
    protected _needsUpdateTexture: boolean;
    constructor(options?: Partial<AudioWaveformProperties>);
    protected _updateProperty(key: string, value: any, oldValue: any): void;
    _loadSrc(src: string): Promise<void>;
    syncTexture(force?: boolean): void;
    protected _process(delta: number): void;
}
