import { AcDbConversionProgressCallback, AcDbDatabase, AcDbDatabaseConverter } from '@mlightcad/data-model'; import { DRW_Database, DRW_DwgR, DRW_FileHandler, MainModule } from '@mlightcad/libdxfrw-web'; /** * Database converter for DWG files based on [libdxfrw-web](https://github.com/mlight-lee/libdxfrw). * @internal */ export declare class AcDbLibdxfrwConverter extends AcDbDatabaseConverter { librefrw: MainModule; database?: DRW_Database; dwg?: DRW_DwgR; fileHandler?: DRW_FileHandler; constructor(instance: MainModule); protected onFinished(): void; protected parse(data: string | ArrayBuffer): Promise<{ model: DRW_Database; data: { unknownEntityCount: number; }; }>; protected processLineTypes(model: DRW_Database, db: AcDbDatabase): void; private convertLineTypePattern; protected processTextStyles(model: DRW_Database, db: AcDbDatabase): void; protected processDimStyles(model: DRW_Database, db: AcDbDatabase): void; protected processLayers(model: DRW_Database, db: AcDbDatabase): void; protected processViewports(model: DRW_Database, db: AcDbDatabase): void; protected processBlockTables(model: DRW_Database, db: AcDbDatabase): void; private processCommonTableEntryAttrs; protected processClasses(_model: DRW_Database, _db: AcDbDatabase): void; protected processHeader(model: DRW_Database, db: AcDbDatabase): void; protected processObjects(model: DRW_Database, db: AcDbDatabase): void; private processImageDefs; private processEntitiesInBlock; protected processEntities(model: DRW_Database, db: AcDbDatabase, minimumChunkSize: number, startPercentage: { value: number; }, progress?: AcDbConversionProgressCallback): Promise; /** * Groups entities by their `type` property and flattens the result into a single array. * * The order of `type` groups follows the order in which they first appear in the input array. * Items within each group preserve their original order. * * This runs in O(n) time, which is generally faster than sorting when you * don't care about alphabetical order of types. * * @param entities - The array of entities to group and flatten. * * @returns A new array of entities grouped by their `type` property. */ private groupAndFlattenByType; } //# sourceMappingURL=AcDbLibdxfrwConverter.d.ts.map