import { XY, XYZ } from '../../../Math/index.js'; import { Color } from '../../../Color.js'; import { Transparency } from '../../../Transparency.js'; import { ObjectType } from '../../../Types/ObjectType.js'; import { ACadVersion } from '../../../ACadVersion.js'; import { DwgReferenceType } from '../../../Types/DwgReferenceType.js'; import { IHandledCadObject } from '../../../IHandledCadObject.js'; import { IDwgStreamWriter } from './IDwgStreamWriter.js'; type WriterFactory = new (stream: Uint8Array, encoding: string) => IDwgStreamWriter; type MergedWriterFactory = new (...args: unknown[]) => IDwgStreamWriter; export declare function registerStreamWriter(key: string, factory: WriterFactory): void; export declare function registerMergedWriter(key: string, factory: MergedWriterFactory): void; export declare abstract class DwgStreamWriterBase implements IDwgStreamWriter { get main(): IDwgStreamWriter; get positionInBits(): number; readonly savedPositionInBits: number; bitShift: number; encoding: string; get stream(): ArrayBuffer; protected _buffer: Uint8Array; protected _view: DataView; protected _position: number; private _lastByte; constructor(stream: Uint8Array, encoding: string); static getStreamWriter(version: ACadVersion, stream: Uint8Array, encoding: string): IDwgStreamWriter; static getMergedWriter(version: ACadVersion, stream: Uint8Array, encoding: string): IDwgStreamWriter; writeInt(value: number): void; writeObjectType(value: number): void; writeObjectTypeEnum(value: ObjectType): void; writeRawLong(value: number): void; writeBytes(arr: Uint8Array): void; writeBytesOffset(arr: Uint8Array, initialIndex: number, length: number): void; writeBitShort(value: number): void; writeBitDouble(value: number): void; writeBitLong(value: number): void; writeBitLongLong(value: number): void; writeVariableText(value: string): void; writeTextUnicode(value: string): void; write2Bits(value: number): void; writeBit(value: boolean): void; writeByte(value: number): void; private _resetShift; writeDateTime(value: Date): void; writeTimeSpan(value: number): void; write8BitJulianDate(value: Date): void; writeCmColor(value: Color): void; writeEnColor(color: Color, transparency: Transparency): void; writeEnColorBook(color: Color, transparency: Transparency, isBookColor: boolean): void; write2BitDouble(value: XY): void; write3BitDouble(value: XYZ): void; write2RawDouble(value: XY): void; writeRawShort(value: number): void; writeRawDouble(value: number): void; handleReference(cadObject: IHandledCadObject | number): void; handleReferenceTyped(type: DwgReferenceType, cadObject: IHandledCadObject | number): void; handleReferenceHandle(handle: number): void; handleReferenceTypedHandle(type: DwgReferenceType, handle: number): void; writeSpearShift(): void; writeBitThickness(thickness: number): void; writeBitExtrusion(normal: XYZ): void; write2BitDoubleWithDefault(def: XY, value: XY): void; write3BitDoubleWithDefault(def: XYZ, value: XYZ): void; writeBitDoubleWithDefault(def: number, value: number): void; resetStream(): void; savePositonForSize(): void; setPositionByFlag(pos: number): void; setPositionInBits(posInBits: number): void; writeShiftValue(): void; private _write3Bits; private _ensureCapacity; } export {}; //# sourceMappingURL=DwgStreamWriterBase.d.ts.map