import '../button/button';
import '../drawer/drawer';
import '../icon/icon';
import { Wave } from './wave';
import SolidElement from '../../internal/solid-element';
import type SdDrawer from '../drawer/drawer';
import type SdRange from '../range/range';
export default class SdAudio extends SolidElement {
    private readonly localize;
    private readonly hasSlotController;
    reversedLayout: boolean;
    hideTimestamps: boolean;
    animated: boolean;
    inverted: boolean;
    speed: number;
    currentTime: string;
    duration: string;
    isPlaying: boolean;
    isMuted: boolean;
    isTranscriptOpen: boolean;
    progress: number;
    progressSlider: SdRange;
    audioPlayerContainer: HTMLElement;
    drawer: SdDrawer;
    canvas: HTMLCanvasElement;
    context: CanvasRenderingContext2D;
    waveList: Wave[];
    constructor();
    firstUpdated(): void;
    updated(changedProperties: Map<string | number | symbol, unknown>): void;
    private get audioElement();
    private updateCurrentTime;
    private updateAudioDuration;
    playAudio(): void;
    pauseAudio(): void;
    handleAudioEnd(): void;
    private toggleMute;
    private toggleMuteKeydown;
    togglePlaybackSpeed(): void;
    private togglePlaybackSpeedKeydown;
    private formatTime;
    private handleAudioProgress;
    private handleAudioProgressKeydown;
    private handleTranscriptDrawerToggle;
    private handleThumbGrab;
    private handleThumbRelease;
    private showTranscript;
    private showTranscriptKeydown;
    private rgbToHex;
    onThemeChange(): void;
    private initAnimation;
    private drawStillWaves;
    private stopAnimation;
    private clear;
    draw(): Promise<void>;
    render(): import("lit").TemplateResult<1>;
    static styles: import("lit").CSSResult[];
}
declare global {
    interface HTMLElementTagNameMap {
        'sd-6-22-0-audio': SdAudio;
    }
}
