import { AcCmColor, AcCmTransparency } from '@mlightcad/common'; import { AcGePoint2dLike, AcGePoint3dLike, AcGeVector3dLike } from '@mlightcad/geometry-engine'; import type { AcDbDatabase } from '../database'; import { AcDbDwgVersion } from '../database/AcDbDwgVersion'; import { AcDbResultBuffer } from './AcDbResultBuffer'; export interface AcDbDxfFilerOptions { database?: AcDbDatabase; precision?: number; version?: string | number | AcDbDwgVersion; } /** * ASCII DXF writer that loosely mirrors the ObjectARX AcDbDxfFiler API. * * This implementation focuses on export scenarios in the web data model and * writes classic group-code based DXF text. */ export declare class AcDbDxfFiler { private _database?; private _precision; private _version?; private readonly _lines; private readonly _handleMap; private _nextHandle; constructor(options?: AcDbDxfFilerOptions); get database(): AcDbDatabase | undefined; set database(value: AcDbDatabase | undefined); get precision(): number; setPrecision(value: number): this; get version(): AcDbDwgVersion | undefined; get nextHandle(): number; setVersion(value: string | number | AcDbDwgVersion): this; toString(): string; registerHandle(key: string): string; resolveHandle(key?: string): string | undefined; writeGroup(code: number, value: unknown): this; writeStart(value: string): this; writeSubclassMarker(value: string): this; writeString(code: number, value?: string): this; writeInt8(code: number, value?: number): this; writeInt16(code: number, value?: number): this; writeInt32(code: number, value?: number): this; writeInt64(code: number, value?: number): this; writeUInt16(code: number, value?: number): this; writeUInt32(code: number, value?: number): this; writeBoolean(code: number, value?: boolean): this; writeBool(code: number, value?: boolean): this; writeDouble(code: number, value?: number): this; writeAngle(code: number, radians?: number): this; writeHandle(code: number, key?: string): this; writeObjectId(code: number, objectId?: string): this; writePoint2d(code: number, point?: AcGePoint2dLike): this; writePoint3d(code: number, point?: AcGePoint3dLike): this; writeVector3d(code: number, vector?: AcGeVector3dLike): this; writeCmColor(color?: AcCmColor, aciCode?: number, trueColorCode?: number): this; writeTransparency(transparency?: AcCmTransparency, code?: number): this; writeResultBuffer(data?: AcDbResultBuffer | null): this; startSection(name: string): this; endSection(): this; startTable(name: string): this; endTable(): this; private formatValue; /** Removes characters that must not appear on a single DXF value line. */ private sanitizeStringForDxfLine; } //# sourceMappingURL=AcDbDxfFiler.d.ts.map