import GameBoy from "../GameBoy";
import AudioChannel from "./AudioChannel";
export default class SquareAudioChannel extends AudioChannel {
    protected gameboy: GameBoy;
    currentSampleLeft: number;
    currentSampleRight: number;
    currentSampleLeftSecondary: number;
    currentSampleRightSecondary: number;
    currentSampleLeftTrimary: number;
    currentSampleRightTrimary: number;
    frequencyCounter: number;
    frequencyTracker: number;
    dutyTracker: number;
    cachedDuty: boolean[];
    totalLength: number;
    envelopeVolume: number;
    envelopeType: boolean;
    consecutive: boolean;
    frequency: number;
    shadowFrequency: number;
    envelopeSweeps: number;
    envelopeSweepsLast: number;
    sweepEnabled: boolean;
    sweepFault: boolean;
    timeSweep: number;
    lastTimeSweep: number;
    swept: boolean;
    decreaseSweep: boolean;
    frequencySweepDivider: number;
    constructor(gameboy: GameBoy, options?: {
        sweepEnabled?: boolean;
    });
    init(): void;
    setInitialState(): void;
    setSkippedBootRomState(): void;
    envelope(): void;
    setSweep(data: number): void;
    setDuty(data: number): void;
    setLength(data: number): void;
    setEnvelopeVolume(address: number, data: number): void;
    setEnvelopeType(data: number): void;
    setFrequency(data: number): void;
    setHighFrequency(data: number): void;
    checkEnabled(): void;
    checkVolumeEnabled(): void;
    length(value: number): void;
    sweep(): void;
    setFirstStageSamples(): void;
    setSecondStageSamples(): void;
    setThirdStageSamples(): void;
}
