import { ByteRecorder } from '../ByteRecorder.js'; import { BufferAccess } from '../../../common/BufferAccess.js'; import { RecorderInterface } from '../../recorder/RecorderInterface.js'; /** * Encoder for Sharp MZ-700 and similar * * https://original.sharpmz.org/mz-700/tapeproc.htm * https://original.sharpmz.org/mz-700/coremain.htm * * Note: The "L" mark after checksums in this documentation seems not to be required. * * Repeating the data seems to be optional: If the first recording can be loaded, the rest is ignored. */ export declare class SharpMzEncoder implements ByteRecorder { private readonly recorder; private readonly oscillator; constructor(recorder: RecorderInterface); begin(): void; recordHeader(header: BufferAccess, repeat?: boolean, shortpilot?: boolean): void; recordData(data: BufferAccess, repeat?: boolean): void; recordBytes(data: BufferAccess): void; end(): void; recordByte(byte: number): void; recordBit(value: number): void; }