import { ByteRecorder } from '../ByteRecorder.js'; import { BufferAccess } from '../../../common/BufferAccess.js'; import { RecorderInterface } from '../../recorder/RecorderInterface.js'; export declare const MAX_NAME_LENGTH = 8; export declare const FILE_TYPE_MACHINE_LANGUAGE = 2; export declare const BLOCK_TYPE_NAMEFILE = 0; export declare const BLOCK_TYPE_DATA = 1; export declare const BLOCK_TYPE_END_OF_FILE = 255; /** * http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%20Computer%20Technical%20Reference%20Manual%20(Tandy).pdf - p. 39 * https://colorcomputerarchive.com/repo/Documents/Manuals/Hardware/Color%20Computer%203%20Service%20Manual%20(Tandy).pdf - p. 47 */ export declare class Trs80CoCoEncoder implements ByteRecorder { private readonly recorder; private readonly oscillator; constructor(recorder: RecorderInterface); begin(): void; end(): void; recordData(ba: BufferAccess, fileName: string, fileType: number, startAddress?: number, loadAddress?: number): void; private recordSync; private recordBlock; recordPause(): void; recordRawBytes(data: BufferAccess): void; recordByte(byte: number): void; recordBit(value: number): void; }