import { Note, INoteValue } from "./Note";
import { G } from '@svgdotjs/svg.js';
import { PianoElement, KeyEventHandler } from './PianoElement';
import { InstrumentSettings } from './InstrumentSettings';
export declare class Octave extends PianoElement {
    private _octave;
    get octave(): number;
    private startNote;
    private endNote;
    private whiteKeyWidth;
    private whiteKeyHeight;
    private whiteKeys;
    private blackKeys;
    private _label?;
    private _labelText?;
    private readonly LABEL_SIZE_RATIO;
    constructor(container: G, instrumentSettings: InstrumentSettings, onKeyPress: KeyEventHandler, onKeyRelease: KeyEventHandler, octave: number, startNote: Note, endNote: Note, whiteKeyWidth: number);
    create(): void;
    layout(whiteKeyWidth: number): void;
    get numberOfWhiteKeys(): number;
    keyDown(note: INoteValue): void;
    keyUp(note: INoteValue): void;
    setInstrumentSettings(settings: InstrumentSettings): void;
    private createOctaveNumberLabel;
}
