import { type AcExSnapshotV1 } from '@mlightcad/cad-html-exporter'; import type { AcDbDatabase } from '@mlightcad/data-model'; import type { AcTrScene } from '../../view/AcTrScene'; /** * Optional overrides applied when constructing an HTML export snapshot. */ export interface AcApHtmlSnapshotBuilderOptions { /** * Human-readable drawing title stored in snapshot metadata and used as the * HTML document title when not overridden by the packager. */ title?: string; /** * Canvas background color as a 24-bit RGB integer (e.g. `0x000000`). * Defaults to the value from {@link buildViewerMetadata} when omitted. */ background?: number; /** * UI locale embedded in the exported HTML for i18n (`en`, `zh`, etc.). * Defaults to {@link AcApI18n.currentLocale} when omitted. */ locale?: string; } /** * Serializes the live Three.js scene into a versioned {@link AcExSnapshotV1}. * * The snapshot contains layer visibility, per-layout line/mesh batches, and * viewer metadata (extents, units, background). It is display-only: no DXF/DWG * entities or edit capability are preserved. */ export declare class AcApHtmlSnapshotBuilder { /** * Builds a snapshot synchronously in one pass. * * Prefer {@link buildAsync} for interactive export so the UI can stay responsive. * * @param scene - Current renderer scene (layouts, layers, active layout). * @param database - Open drawing database used for layout names and metadata. * @param options - Optional title, background, and locale overrides. * @returns A complete v1 snapshot ready for `packHtml`. */ build(scene: AcTrScene, database: AcDbDatabase, options?: AcApHtmlSnapshotBuilderOptions): AcExSnapshotV1; /** * Builds a snapshot incrementally, yielding to the main thread between layouts. * * Geometry is collected per layout layer so a busy indicator can repaint * during large drawings. * * @param scene - Current renderer scene (layouts, layers, active layout). * @param database - Open drawing database used for layout names and metadata. * @param options - Optional title, background, and locale overrides. * @returns A complete v1 snapshot ready for `packHtml`. */ buildAsync(scene: AcTrScene, database: AcDbDatabase, options?: AcApHtmlSnapshotBuilderOptions): Promise; /** * Synchronous implementation shared by {@link build} and {@link buildAsync}. * * @param scene - Current renderer scene. * @param database - Open drawing database. * @param options - Snapshot overrides. * @returns A complete v1 snapshot. */ private buildSync; } //# sourceMappingURL=AcApHtmlSnapshotBuilder.d.ts.map