import { type ByteRecorder } from '../ByteRecorder.js'; import { type RecorderInterface } from '../../recorder/RecorderInterface.js'; import { BufferAccess } from '../../../common/BufferAccess.js'; import { C64MachineType } from './C64Options.js'; /** * Encoder for C64 and VIC-20 * * https://www.c64-wiki.com/wiki/Datassette_Encoding * 64 intern (Angerhausen, Brückmann, Englisch, Gerits), 4th edition, p. 120 - 122 */ export declare class C64Encoder implements ByteRecorder { private readonly recorder; private readonly shortpilot; private readonly clockCycles; private readonly oscillator; constructor(recorder: RecorderInterface, shortpilot?: boolean, machineType?: C64MachineType); begin(): void; end(): void; recordPulse(pulseLength: number): void; recordBasic(startAddress: number, filename: string, dataBa: BufferAccess): void; recordPrg(startAddress: number, filename: string, dataBa: BufferAccess): void; recordData(filenameBuffer: string, dataBa: BufferAccess): void; recordBit(value: number): void; recordByte(byte: number): void; private recordNewDataMarker; private recordEndOfDataMarker; private recordPilot; private recordSyncChain; private recordSyncChainRepeated; private recordDataWithCheckByte; private recordBasicOrPrg; }