import { AUIController } from "../../../MusicalScore/Interfaces/AUIController";
import { IPlaybackParametersListener } from "../../../Common/Interfaces/IPlaybackParametersListener";
import { CursorPosChangedData } from "../../../Common/DataObjects/CursorPosChangedData";
import { Fraction } from "../../../Common/DataObjects/Fraction";
import { IPlaybackListener } from "../../../Common/Interfaces/IPlaybackListener";
import { PlaybackManager } from "../../PlaybackManager";
export declare class ControlPanel extends AUIController<IPlaybackParametersListener> implements IPlaybackParametersListener, IPlaybackListener {
    volumeMute(instrument: number): void;
    volumeUnmute(instrument: number): void;
    bpmChanged(newNpm: number, sheetOverride: boolean): void;
    volumeChanged(channels: number, newVolume: number): void;
    play(): Promise<void>;
    pause(): Promise<void>;
    reset(): void;
    playbackManager: PlaybackManager;
    private controlPanelElement;
    private playbackButtonsContainerElement;
    private metronomeToolbarElement;
    private volumeToolbarElement;
    private bpmValue;
    private bpmSlider;
    private volumeSliders;
    private volumeSliderElements;
    private playPauseButton;
    private resetButton;
    private titleContentElement;
    private closeButtonElement;
    get IsClosed(): boolean;
    clearVolumeTracks(): void;
    addVolumeTrack(name: string, id: number, value?: number): void;
    protected initialize(): void;
    hideAndClear(): void;
    show(): void;
    cursorPositionChanged(timestamp: Fraction, data: CursorPosChangedData): void;
    pauseOccurred(o: object): void;
    metronomeSoundOccurred(o: object): void;
    selectionEndReached(o: object): void;
    resetOccurred(o: object): void;
    notesPlaybackEventOccurred(o: object): void;
    soundLoaded(instrumentId?: number, instrumentName?: string): void;
    allSoundsLoaded(): void;
}
