import { AbstractSoundChannel } from './abstract-sound-channel'; import { Audio, EventSource } from '../audio'; export declare class QuadrangularChannel extends AbstractSoundChannel { private _waveDuty; private _frequency; private hasFrequencySweep; private frequencySweepEnabled; private frequencySweepTimer; private frequencySweepShadow; private frequencySweepPeriod; private frequencySweepShift; private frequencySweepDirection; private _volume; private volumeSweepEnabled; private volumeSweepTimer; private volumeSweepLength; private volumeSweepDirection; private soundLengthEnabled; private soundLengthCounter; constructor(audio: Audio, eventSource: EventSource, registerMasks: number[], hasFrequencySweep: boolean); reset(): void; tick(sequencerCounter: number): void; frequency: number; volume: number; waveDuty: number; nrx0: number; nrx1: number; nrx2: number; nrx3: number; nrx4: number; private trigger(); private updateFrequency(); private updateVolume(); private updateSoundLength(); private sweepFrequency(saveChange); } export declare const WAVE_DUTY_MAP: number[];