@rhwp/core 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/rhwp.d.ts ADDED
@@ -0,0 +1,1493 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * WASM에서 사용할 HWP 문서 래퍼
6
+ *
7
+ * 도메인 로직은 `DocumentCore`에 구현되어 있으며,
8
+ * `Deref`/`DerefMut`를 통해 투명하게 접근한다.
9
+ */
10
+ export class HwpDocument {
11
+ free(): void;
12
+ [Symbol.dispose](): void;
13
+ /**
14
+ * 책갈피 추가
15
+ */
16
+ addBookmark(sec: number, para: number, char_offset: number, name: string): string;
17
+ /**
18
+ * 스타일을 적용한다 (셀 내 문단).
19
+ */
20
+ applyCellStyle(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, style_id: number): string;
21
+ /**
22
+ * 글자 서식을 적용한다 (본문 문단).
23
+ */
24
+ applyCharFormat(sec_idx: number, para_idx: number, start_offset: number, end_offset: number, props_json: string): string;
25
+ /**
26
+ * 글자 서식을 적용한다 (셀 내 문단).
27
+ */
28
+ applyCharFormatInCell(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, start_offset: number, end_offset: number, props_json: string): string;
29
+ /**
30
+ * 머리말/꼬리말 마당(템플릿)을 적용한다.
31
+ */
32
+ applyHfTemplate(section_idx: number, is_header: boolean, apply_to: number, template_id: number): string;
33
+ applyParaFormat(sec_idx: number, para_idx: number, props_json: string): string;
34
+ /**
35
+ * 문단 서식을 적용한다 (셀 내 문단).
36
+ */
37
+ applyParaFormatInCell(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, props_json: string): string;
38
+ /**
39
+ * 머리말/꼬리말 문단에 문단 서식을 적용한다.
40
+ */
41
+ applyParaFormatInHf(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, props_json: string): string;
42
+ /**
43
+ * 스타일을 적용한다 (본문 문단).
44
+ */
45
+ applyStyle(sec_idx: number, para_idx: number, style_id: number): string;
46
+ /**
47
+ * Batch 모드를 시작한다. 이후 Command 호출 시 paginate()를 건너뛴다.
48
+ */
49
+ beginBatch(): string;
50
+ /**
51
+ * Shape z-order 변경
52
+ * operation: "front" | "back" | "forward" | "backward"
53
+ */
54
+ changeShapeZOrder(section_idx: number, parent_para_idx: number, control_idx: number, operation: string): string;
55
+ /**
56
+ * 활성 필드를 해제한다 (안내문 다시 표시).
57
+ */
58
+ clearActiveField(): void;
59
+ /**
60
+ * 내부 클립보드를 초기화한다.
61
+ */
62
+ clearClipboard(): void;
63
+ /**
64
+ * 내부 클립보드에 컨트롤(표/그림/도형)이 포함되어 있는지 확인한다.
65
+ */
66
+ clipboardHasControl(): boolean;
67
+ /**
68
+ * 배포용(읽기전용) 문서를 편집 가능한 일반 문서로 변환한다.
69
+ *
70
+ * 반환값: JSON `{"ok":true,"converted":true}` 또는 `{"ok":true,"converted":false}`
71
+ */
72
+ convertToEditable(): string;
73
+ /**
74
+ * 컨트롤 객체(표, 이미지, 도형)를 내부 클립보드에 복사한다.
75
+ */
76
+ copyControl(section_idx: number, para_idx: number, control_idx: number): string;
77
+ /**
78
+ * 선택 영역을 내부 클립보드에 복사한다.
79
+ *
80
+ * 반환값: JSON `{"ok":true,"text":"<plain_text>"}`
81
+ */
82
+ copySelection(section_idx: number, start_para_idx: number, start_char_offset: number, end_para_idx: number, end_char_offset: number): string;
83
+ /**
84
+ * 표 셀 내부 선택 영역을 내부 클립보드에 복사한다.
85
+ */
86
+ copySelectionInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, start_cell_para_idx: number, start_char_offset: number, end_cell_para_idx: number, end_char_offset: number): string;
87
+ /**
88
+ * 내장 템플릿에서 빈 문서를 생성한다.
89
+ *
90
+ * saved/blank2010.hwp를 WASM 바이너리에 포함하여 유효한 HWP 문서를 즉시 생성.
91
+ * DocInfo raw_stream이 온전하므로 FIX-4 워크어라운드와 호환됨.
92
+ */
93
+ createBlankDocument(): string;
94
+ /**
95
+ * 빈 문서 생성 (테스트/미리보기용)
96
+ */
97
+ static createEmpty(): HwpDocument;
98
+ /**
99
+ * 머리말/꼬리말 생성 (빈 문단 1개 포함)
100
+ *
101
+ * 반환: JSON `{"ok":true,"kind":"header/footer","applyTo":N,...}`
102
+ */
103
+ createHeaderFooter(section_idx: number, is_header: boolean, apply_to: number): string;
104
+ /**
105
+ * JSON으로 지정된 번호 형식으로 Numbering 정의를 생성한다.
106
+ *
107
+ * json: {"levelFormats":["^1.","^2)",...],"numberFormats":[0,8,...],"startNumber":1}
108
+ * 반환값: Numbering ID (1-based)
109
+ */
110
+ createNumbering(json: string): number;
111
+ /**
112
+ * 커서 위치에 글상자(Rectangle + TextBox)를 삽입한다.
113
+ *
114
+ * json: `{"sectionIdx":N,"paraIdx":N,"charOffset":N,"width":N,"height":N,
115
+ * "horzOffset":N,"vertOffset":N,"treatAsChar":bool,"textWrap":"Square"}`
116
+ * 반환: JSON `{"ok":true,"paraIdx":<N>,"controlIdx":0}`
117
+ */
118
+ createShapeControl(json: string): string;
119
+ /**
120
+ * 새 스타일을 생성한다.
121
+ *
122
+ * json: {"name":"...", "englishName":"...", "type":0, "nextStyleId":0}
123
+ * 반환값: 새 스타일 ID (0-based)
124
+ */
125
+ createStyle(json: string): number;
126
+ /**
127
+ * 커서 위치에 새 표를 삽입한다.
128
+ *
129
+ * 반환: JSON `{"ok":true,"paraIdx":<N>,"controlIdx":0}`
130
+ */
131
+ createTable(section_idx: number, para_idx: number, char_offset: number, row_count: number, col_count: number): string;
132
+ /**
133
+ * 커서 위치에 표를 삽입한다 (확장, JSON 옵션).
134
+ *
135
+ * options JSON: { sectionIdx, paraIdx, charOffset, rowCount, colCount,
136
+ * treatAsChar?: bool, colWidths?: [u32, ...] }
137
+ */
138
+ createTableEx(options_json: string): string;
139
+ /**
140
+ * 책갈피 삭제
141
+ */
142
+ deleteBookmark(sec: number, para: number, ctrl_idx: number): string;
143
+ /**
144
+ * 머리말/꼬리말을 삭제한다 (컨트롤 자체 제거).
145
+ */
146
+ deleteHeaderFooter(section_idx: number, is_header: boolean, apply_to: number): string;
147
+ /**
148
+ * 그림 컨트롤을 문단에서 삭제한다.
149
+ *
150
+ * 반환: JSON `{"ok":true}`
151
+ */
152
+ deletePictureControl(section_idx: number, parent_para_idx: number, control_idx: number): string;
153
+ /**
154
+ * 본문 선택 영역을 삭제한다.
155
+ *
156
+ * 반환: JSON `{"ok":true,"paraIdx":N,"charOffset":N}`
157
+ */
158
+ deleteRange(section_idx: number, start_para_idx: number, start_char_offset: number, end_para_idx: number, end_char_offset: number): string;
159
+ /**
160
+ * 셀 내 선택 영역을 삭제한다.
161
+ *
162
+ * 반환: JSON `{"ok":true,"paraIdx":N,"charOffset":N}`
163
+ */
164
+ deleteRangeInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, start_cell_para_idx: number, start_char_offset: number, end_cell_para_idx: number, end_char_offset: number): string;
165
+ /**
166
+ * Shape(글상자) 컨트롤을 문단에서 삭제한다.
167
+ *
168
+ * 반환: JSON `{"ok":true}`
169
+ */
170
+ deleteShapeControl(section_idx: number, parent_para_idx: number, control_idx: number): string;
171
+ /**
172
+ * 스타일을 삭제한다.
173
+ *
174
+ * 바탕글(ID 0)은 삭제할 수 없다.
175
+ * 삭제된 스타일을 사용 중인 문단은 바탕글(ID 0)로 변경된다.
176
+ */
177
+ deleteStyle(style_id: number): boolean;
178
+ /**
179
+ * 표에서 열을 삭제한다.
180
+ *
181
+ * 반환값: JSON `{"ok":true,"rowCount":<N>,"colCount":<M>}`
182
+ */
183
+ deleteTableColumn(section_idx: number, parent_para_idx: number, control_idx: number, col_idx: number): string;
184
+ /**
185
+ * 표 컨트롤을 문단에서 삭제한다.
186
+ *
187
+ * 반환: JSON `{"ok":true}`
188
+ */
189
+ deleteTableControl(section_idx: number, parent_para_idx: number, control_idx: number): string;
190
+ /**
191
+ * 표에서 행을 삭제한다.
192
+ *
193
+ * 반환값: JSON `{"ok":true,"rowCount":<N>,"colCount":<M>}`
194
+ */
195
+ deleteTableRow(section_idx: number, parent_para_idx: number, control_idx: number, row_idx: number): string;
196
+ /**
197
+ * 문단에서 텍스트를 삭제한다.
198
+ *
199
+ * 삭제 후 구역을 재구성하고 재페이지네이션한다.
200
+ * 반환값: JSON `{"ok":true,"charOffset":<offset_after_delete>}`
201
+ */
202
+ deleteText(section_idx: number, para_idx: number, char_offset: number, count: number): string;
203
+ /**
204
+ * 표 셀 내부 문단에서 텍스트를 삭제한다.
205
+ *
206
+ * 반환값: JSON `{"ok":true,"charOffset":<offset_after_delete>}`
207
+ */
208
+ deleteTextInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, count: number): string;
209
+ deleteTextInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, count: number): string;
210
+ /**
211
+ * 각주 내 텍스트를 삭제한다.
212
+ */
213
+ deleteTextInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number, char_offset: number, count: number): string;
214
+ /**
215
+ * 머리말/꼬리말 내 텍스트 삭제
216
+ *
217
+ * 반환: JSON `{"ok":true,"charOffset":<offset>}`
218
+ */
219
+ deleteTextInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number, count: number): string;
220
+ /**
221
+ * 지정 ID의 스냅샷을 제거하여 메모리를 해제한다.
222
+ */
223
+ discardSnapshot(id: number): void;
224
+ /**
225
+ * Batch 모드를 종료하고 누적된 이벤트를 반환한다.
226
+ */
227
+ endBatch(): string;
228
+ /**
229
+ * 특정 문자의 글머리표 정의가 없으면 생성한다.
230
+ *
231
+ * 반환값: Bullet ID (1-based)
232
+ */
233
+ ensureDefaultBullet(bullet_char_str: string): number;
234
+ /**
235
+ * 문서에 기본 문단 번호 정의가 없으면 생성한다.
236
+ *
237
+ * 반환값: Numbering ID (1-based)
238
+ */
239
+ ensureDefaultNumbering(): number;
240
+ /**
241
+ * 표 셀에서 계산식을 실행한다.
242
+ *
243
+ * formula: "=SUM(A1:A5)", "=A1+B2*3" 등
244
+ * write_result: true이면 결과를 셀에 기록
245
+ */
246
+ evaluateTableFormula(section_idx: number, parent_para_idx: number, control_idx: number, target_row: number, target_col: number, formula: string, write_result: boolean): string;
247
+ /**
248
+ * 컨트롤 객체를 HTML 문자열로 변환한다.
249
+ */
250
+ exportControlHtml(section_idx: number, para_idx: number, control_idx: number): string;
251
+ /**
252
+ * 문서를 HWP 바이너리로 내보낸다.
253
+ *
254
+ * Document IR을 HWP 5.0 CFB 바이너리로 직렬화하여 반환한다.
255
+ */
256
+ exportHwp(): Uint8Array;
257
+ /**
258
+ * 선택 영역을 HTML 문자열로 변환한다 (본문).
259
+ */
260
+ exportSelectionHtml(section_idx: number, start_para_idx: number, start_char_offset: number, end_para_idx: number, end_char_offset: number): string;
261
+ /**
262
+ * 선택 영역을 HTML 문자열로 변환한다 (셀 내부).
263
+ */
264
+ exportSelectionInCellHtml(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, start_cell_para_idx: number, start_char_offset: number, end_cell_para_idx: number, end_char_offset: number): string;
265
+ /**
266
+ * 커서에서 이전 방향으로 가장 가까운 선택 가능 컨트롤을 찾는다 (F11 키).
267
+ */
268
+ findNearestControlBackward(section_idx: number, para_idx: number, char_offset: number): string;
269
+ /**
270
+ * 현재 위치 이후의 가장 가까운 선택 가능 컨트롤을 찾는다 (Shift+F11).
271
+ */
272
+ findNearestControlForward(section_idx: number, para_idx: number, char_offset: number): string;
273
+ /**
274
+ * 문서 트리에서 다음 편집 가능한 컨트롤/본문을 찾는다.
275
+ * delta=+1(앞), delta=-1(뒤). ctrl_idx=-1이면 본문 텍스트에서 출발.
276
+ */
277
+ findNextEditableControl(section_idx: number, para_idx: number, ctrl_idx: number, delta: number): string;
278
+ /**
279
+ * 글꼴 이름으로 font_id를 조회하거나 새로 생성한다.
280
+ *
281
+ * 한글(0번) 카테고리에서 이름 검색 → 없으면 7개 전체 카테고리에 신규 등록.
282
+ * 반환값: font_id (u16), 실패 시 -1
283
+ */
284
+ findOrCreateFontId(name: string): number;
285
+ /**
286
+ * 특정 언어 카테고리에서 글꼴 이름으로 ID를 찾거나 등록한다.
287
+ */
288
+ findOrCreateFontIdForLang(lang: number, name: string): number;
289
+ /**
290
+ * 문서 내 모든 책갈피 목록 반환
291
+ */
292
+ getBookmarks(): string;
293
+ /**
294
+ * 문서에 정의된 글머리표(Bullet) 목록을 조회한다.
295
+ *
296
+ * 반환값: JSON 배열 [{ id, char }, ...]
297
+ * id는 1-based (ParaShape.numbering_id와 동일)
298
+ */
299
+ getBulletList(): string;
300
+ /**
301
+ * 문서에 저장된 캐럿 위치를 반환한다 (문서 로딩 시 캐럿 자동 배치용).
302
+ *
303
+ * 반환: JSON `{"sectionIndex":N,"paragraphIndex":N,"charOffset":N}`
304
+ */
305
+ getCaretPosition(): string;
306
+ /**
307
+ * 셀 내부 문단의 글자 속성을 조회한다.
308
+ */
309
+ getCellCharPropertiesAt(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
310
+ /**
311
+ * 표 셀의 행/열/병합 정보를 반환한다.
312
+ *
313
+ * 반환: JSON `{"row":N,"col":N,"rowSpan":N,"colSpan":N}`
314
+ */
315
+ getCellInfo(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number): string;
316
+ /**
317
+ * 경로 기반 셀 정보 조회 (중첩 표용).
318
+ *
319
+ * 반환: JSON `{"row":N,"col":N,"rowSpan":N,"colSpan":N}`
320
+ */
321
+ getCellInfoByPath(section_idx: number, parent_para_idx: number, path_json: string): string;
322
+ /**
323
+ * 셀 내부 문단의 문단 속성을 조회한다.
324
+ */
325
+ getCellParaPropertiesAt(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): string;
326
+ /**
327
+ * 표 셀 내 문단 수를 반환한다.
328
+ */
329
+ getCellParagraphCount(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number): number;
330
+ /**
331
+ * 경로 기반: 셀/글상자 내 문단 수를 반환한다 (중첩 표/글상자 지원).
332
+ */
333
+ getCellParagraphCountByPath(section_idx: number, parent_para_idx: number, path_json: string): number;
334
+ /**
335
+ * 표 셀 내 문단의 글자 수를 반환한다.
336
+ */
337
+ getCellParagraphLength(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): number;
338
+ /**
339
+ * 경로 기반: 셀 내 문단의 글자 수를 반환한다 (중첩 표 지원).
340
+ */
341
+ getCellParagraphLengthByPath(section_idx: number, parent_para_idx: number, path_json: string): number;
342
+ /**
343
+ * 셀 속성을 조회한다.
344
+ *
345
+ * 반환: JSON `{width, height, paddingLeft, paddingRight, paddingTop, paddingBottom, verticalAlign, textDirection, isHeader}`
346
+ */
347
+ getCellProperties(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number): string;
348
+ /**
349
+ * 셀 내부 문단의 스타일을 조회한다.
350
+ */
351
+ getCellStyleAt(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): string;
352
+ /**
353
+ * 표 셀의 텍스트 방향을 반환한다 (0=가로, 1=세로/영문눕힘, 2=세로/영문세움).
354
+ */
355
+ getCellTextDirection(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number): number;
356
+ /**
357
+ * 캐럿 위치의 글자 속성을 조회한다.
358
+ *
359
+ * 반환값: JSON 객체 (fontFamily, fontSize, bold, italic, underline, strikethrough, textColor 등)
360
+ */
361
+ getCharPropertiesAt(sec_idx: number, para_idx: number, char_offset: number): string;
362
+ /**
363
+ * 누름틀 필드의 속성을 조회한다.
364
+ *
365
+ * 반환: JSON `{"ok":true,"guide":"안내문","memo":"메모","name":"이름","editable":true}`
366
+ */
367
+ getClickHereProps(field_id: number): string;
368
+ /**
369
+ * 내부 클립보드의 플레인 텍스트를 반환한다.
370
+ */
371
+ getClipboardText(): string;
372
+ /**
373
+ * 컨트롤의 이미지 바이너리 데이터를 반환한다 (Uint8Array).
374
+ */
375
+ getControlImageData(section_idx: number, para_idx: number, control_idx: number): Uint8Array;
376
+ /**
377
+ * 컨트롤의 이미지 MIME 타입을 반환한다.
378
+ */
379
+ getControlImageMime(section_idx: number, para_idx: number, control_idx: number): string;
380
+ /**
381
+ * 문단 내 컨트롤의 텍스트 위치 배열을 반환한다.
382
+ */
383
+ getControlTextPositions(section_idx: number, para_idx: number): string;
384
+ /**
385
+ * 커서 위치의 픽셀 좌표를 반환한다.
386
+ *
387
+ * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}`
388
+ */
389
+ getCursorRect(section_idx: number, para_idx: number, char_offset: number): string;
390
+ /**
391
+ * 경로 기반 커서 좌표 조회 (중첩 표용).
392
+ *
393
+ * path_json: `[{"controlIndex":N,"cellIndex":N,"cellParaIndex":N}, ...]`
394
+ * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}`
395
+ */
396
+ getCursorRectByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): string;
397
+ /**
398
+ * 표 셀 내부 커서 위치의 픽셀 좌표를 반환한다.
399
+ *
400
+ * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}`
401
+ */
402
+ getCursorRectInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
403
+ /**
404
+ * 각주 내 커서 렉트 계산
405
+ */
406
+ getCursorRectInFootnote(page_num: number, footnote_index: number, fn_para_idx: number, char_offset: number): string;
407
+ /**
408
+ * 머리말/꼬리말 내 커서 위치의 픽셀 좌표를 반환한다.
409
+ *
410
+ * preferred_page: 선호 페이지 (더블클릭한 페이지). -1이면 첫 번째 발견 페이지 사용.
411
+ * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}`
412
+ */
413
+ getCursorRectInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number, preferred_page: number): string;
414
+ /**
415
+ * 문서 정보를 JSON 문자열로 반환한다.
416
+ */
417
+ getDocumentInfo(): string;
418
+ /**
419
+ * 현재 DPI를 반환한다.
420
+ */
421
+ getDpi(): number;
422
+ /**
423
+ * 수식 컨트롤의 속성을 조회한다.
424
+ *
425
+ * 반환: JSON `{ script, fontSize, color, baseline, fontName }`
426
+ */
427
+ getEquationProperties(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): string;
428
+ /**
429
+ * 현재 이벤트 로그를 JSON으로 반환한다.
430
+ */
431
+ getEventLog(): string;
432
+ /**
433
+ * 현재 대체 폰트 경로를 반환한다.
434
+ */
435
+ getFallbackFont(): string;
436
+ /**
437
+ * 커서 위치의 필드 범위 정보를 조회한다 (본문 문단).
438
+ *
439
+ * 반환: `{inField, fieldId?, startCharIdx?, endCharIdx?, isGuide?, guideName?}`
440
+ */
441
+ getFieldInfoAt(section_idx: number, para_idx: number, char_offset: number): string;
442
+ /**
443
+ * path 기반: 중첩 표 셀의 필드 범위 정보를 조회한다.
444
+ */
445
+ getFieldInfoAtByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): string;
446
+ /**
447
+ * 커서 위치의 필드 범위 정보를 조회한다 (셀/글상자 내 문단).
448
+ */
449
+ getFieldInfoAtInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, is_textbox: boolean): string;
450
+ /**
451
+ * 문서 내 모든 필드 목록을 JSON 배열로 반환한다.
452
+ *
453
+ * 반환: `[{fieldId, fieldType, name, guide, command, value, location}]`
454
+ */
455
+ getFieldList(): string;
456
+ /**
457
+ * field_id로 필드 값을 조회한다.
458
+ *
459
+ * 반환: `{ok, value}`
460
+ */
461
+ getFieldValue(field_id: number): string;
462
+ /**
463
+ * 필드 이름으로 값을 조회한다.
464
+ *
465
+ * 반환: `{ok, fieldId, value}`
466
+ */
467
+ getFieldValueByName(name: string): string;
468
+ /**
469
+ * 각주 정보를 조회한다.
470
+ */
471
+ getFootnoteInfo(section_idx: number, para_idx: number, control_idx: number): string;
472
+ /**
473
+ * 페이지 좌표에서 양식 개체를 찾는다.
474
+ *
475
+ * 반환: `{found, sec, para, ci, formType, name, value, caption, text, bbox}`
476
+ */
477
+ getFormObjectAt(page_num: number, x: number, y: number): string;
478
+ /**
479
+ * 양식 개체 상세 정보를 반환한다 (properties 포함).
480
+ *
481
+ * 반환: `{ok, formType, name, value, text, caption, enabled, width, height, foreColor, backColor, properties}`
482
+ */
483
+ getFormObjectInfo(sec: number, para: number, ci: number): string;
484
+ /**
485
+ * 양식 개체 값을 조회한다.
486
+ *
487
+ * 반환: `{ok, formType, name, value, text, caption, enabled}`
488
+ */
489
+ getFormValue(sec: number, para: number, ci: number): string;
490
+ /**
491
+ * 머리말/꼬리말 조회
492
+ *
493
+ * 반환: JSON `{"ok":true,"exists":true/false,...}`
494
+ */
495
+ getHeaderFooter(section_idx: number, is_header: boolean, apply_to: number): string;
496
+ /**
497
+ * 문서 전체의 머리말/꼬리말 목록을 반환한다.
498
+ */
499
+ getHeaderFooterList(current_section_idx: number, current_is_header: boolean, current_apply_to: number): string;
500
+ /**
501
+ * 머리말/꼬리말 문단 정보 조회
502
+ *
503
+ * 반환: JSON `{"ok":true,"paraCount":N,"charCount":N}`
504
+ */
505
+ getHeaderFooterParaInfo(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number): string;
506
+ /**
507
+ * 문단 내 줄 정보를 반환한다 (커서 수직 이동/Home/End용).
508
+ *
509
+ * 반환: JSON `{"lineIndex":N,"lineCount":N,"charStart":N,"charEnd":N}`
510
+ */
511
+ getLineInfo(section_idx: number, para_idx: number, char_offset: number): string;
512
+ /**
513
+ * 표 셀 내 문단의 줄 정보를 반환한다.
514
+ *
515
+ * 반환: JSON `{"lineIndex":N,"lineCount":N,"charStart":N,"charEnd":N}`
516
+ */
517
+ getLineInfoInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
518
+ /**
519
+ * 문단의 논리적 길이를 반환한다 (텍스트 문자 + 인라인 컨트롤 수).
520
+ */
521
+ getLogicalLength(section_idx: number, para_idx: number): number;
522
+ /**
523
+ * 문서에 정의된 문단 번호(Numbering) 목록을 조회한다.
524
+ *
525
+ * 반환값: JSON 배열 [{ id, levelFormats: [...] }, ...]
526
+ * id는 1-based (ParaShape.numbering_id와 동일)
527
+ */
528
+ getNumberingList(): string;
529
+ /**
530
+ * 컨트롤(표, 이미지 등) 레이아웃 정보를 반환한다.
531
+ */
532
+ getPageControlLayout(page_num: number): string;
533
+ /**
534
+ * 구역의 용지 설정(PageDef)을 HWPUNIT 원본값으로 반환한다.
535
+ */
536
+ getPageDef(section_idx: number): string;
537
+ /**
538
+ * 페이지의 각주 참조 정보
539
+ */
540
+ getPageFootnoteInfo(page_num: number, footnote_index: number): string;
541
+ /**
542
+ * 감추기 조회
543
+ */
544
+ getPageHide(sec: number, para: number): string;
545
+ /**
546
+ * 페이지 정보를 JSON 문자열로 반환한다.
547
+ */
548
+ getPageInfo(page_num: number): string;
549
+ /**
550
+ * 위치에 해당하는 글로벌 쪽 번호 반환
551
+ */
552
+ getPageOfPosition(section_idx: number, para_idx: number): string;
553
+ /**
554
+ * 페이지 렌더 트리를 JSON 문자열로 반환한다.
555
+ */
556
+ getPageRenderTree(page_num: number): string;
557
+ /**
558
+ * 특정 페이지의 텍스트 레이아웃 정보를 JSON 문자열로 반환한다.
559
+ *
560
+ * 각 TextRun의 위치, 텍스트, 글자별 X 좌표 경계값을 포함한다.
561
+ */
562
+ getPageTextLayout(page_num: number): string;
563
+ /**
564
+ * 캐럿 위치의 문단 속성을 조회한다.
565
+ *
566
+ * 반환값: JSON 객체 (alignment, lineSpacing, marginLeft, marginRight, indent 등)
567
+ */
568
+ getParaPropertiesAt(sec_idx: number, para_idx: number): string;
569
+ /**
570
+ * 머리말/꼬리말 문단의 문단 속성을 조회한다.
571
+ */
572
+ getParaPropertiesInHf(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number): string;
573
+ /**
574
+ * 구역 내 문단 수를 반환한다.
575
+ */
576
+ getParagraphCount(section_idx: number): number;
577
+ /**
578
+ * 문단의 글자 수(char 개수)를 반환한다.
579
+ */
580
+ getParagraphLength(section_idx: number, para_idx: number): number;
581
+ /**
582
+ * 그림 컨트롤의 속성을 조회한다.
583
+ *
584
+ * 반환: JSON `{ width, height, treatAsChar, ... }`
585
+ */
586
+ getPictureProperties(section_idx: number, parent_para_idx: number, control_idx: number): string;
587
+ /**
588
+ * 글로벌 쪽 번호에 해당하는 첫 문단 위치 반환
589
+ */
590
+ getPositionOfPage(global_page: number): string;
591
+ /**
592
+ * 구역(Section) 수를 반환한다.
593
+ */
594
+ getSectionCount(): number;
595
+ /**
596
+ * 구역 정의(SectionDef)를 JSON으로 반환한다.
597
+ */
598
+ getSectionDef(section_idx: number): string;
599
+ /**
600
+ * 본문 선택 영역의 줄별 사각형을 반환한다.
601
+ *
602
+ * 반환: JSON 배열 `[{"pageIndex":N,"x":F,"y":F,"width":F,"height":F}, ...]`
603
+ */
604
+ getSelectionRects(section_idx: number, start_para_idx: number, start_char_offset: number, end_para_idx: number, end_char_offset: number): string;
605
+ /**
606
+ * 셀 내 선택 영역의 줄별 사각형을 반환한다.
607
+ *
608
+ * 반환: JSON 배열 `[{"pageIndex":N,"x":F,"y":F,"width":F,"height":F}, ...]`
609
+ */
610
+ getSelectionRectsInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, start_cell_para_idx: number, start_char_offset: number, end_cell_para_idx: number, end_char_offset: number): string;
611
+ /**
612
+ * Shape(글상자) 속성을 조회한다.
613
+ *
614
+ * 반환: JSON `{ width, height, treatAsChar, tbMarginLeft, ... }`
615
+ */
616
+ getShapeProperties(section_idx: number, parent_para_idx: number, control_idx: number): string;
617
+ /**
618
+ * 조판부호 표시 여부를 반환한다.
619
+ */
620
+ getShowControlCodes(): boolean;
621
+ /**
622
+ * 특정 문단의 스타일을 조회한다.
623
+ *
624
+ * 반환값: JSON { id, name }
625
+ */
626
+ getStyleAt(sec_idx: number, para_idx: number): string;
627
+ /**
628
+ * 특정 스타일의 CharShape/ParaShape 속성을 상세 조회한다.
629
+ *
630
+ * 반환값: JSON { charProps: {...}, paraProps: {...} }
631
+ */
632
+ getStyleDetail(style_id: number): string;
633
+ /**
634
+ * 문서에 정의된 스타일 목록을 조회한다.
635
+ *
636
+ * 반환값: JSON 배열 [{ id, name, englishName, type, paraShapeId, charShapeId }, ...]
637
+ */
638
+ getStyleList(): string;
639
+ /**
640
+ * 표 전체의 바운딩박스를 반환한다.
641
+ *
642
+ * 반환: JSON `{"pageIndex":<N>,"x":<f>,"y":<f>,"width":<f>,"height":<f>}`
643
+ */
644
+ getTableBBox(section_idx: number, parent_para_idx: number, control_idx: number): string;
645
+ /**
646
+ * 표의 모든 셀 bbox를 반환한다 (F5 셀 선택 모드용).
647
+ *
648
+ * 반환: JSON `[{cellIdx, row, col, rowSpan, colSpan, pageIndex, x, y, w, h}, ...]`
649
+ */
650
+ getTableCellBboxes(section_idx: number, parent_para_idx: number, control_idx: number, page_hint?: number | null): string;
651
+ /**
652
+ * 경로 기반 표 셀 바운딩박스 조회 (중첩 표용).
653
+ *
654
+ * 반환: JSON 배열 `[{"cellIdx":N,"row":N,"col":N,...,"x":F,"y":F,"w":F,"h":F}, ...]`
655
+ */
656
+ getTableCellBboxesByPath(section_idx: number, parent_para_idx: number, path_json: string): string;
657
+ /**
658
+ * 표의 행/열/셀 수를 반환한다.
659
+ *
660
+ * 반환: JSON `{"rowCount":N,"colCount":N,"cellCount":N}`
661
+ */
662
+ getTableDimensions(section_idx: number, parent_para_idx: number, control_idx: number): string;
663
+ /**
664
+ * 경로 기반 표 차원 조회 (중첩 표용).
665
+ *
666
+ * 반환: JSON `{"rowCount":N,"colCount":N,"cellCount":N}`
667
+ */
668
+ getTableDimensionsByPath(section_idx: number, parent_para_idx: number, path_json: string): string;
669
+ /**
670
+ * 표 속성을 조회한다.
671
+ *
672
+ * 반환: JSON `{cellSpacing, paddingLeft, paddingRight, paddingTop, paddingBottom, pageBreak, repeatHeader}`
673
+ */
674
+ getTableProperties(section_idx: number, parent_para_idx: number, control_idx: number): string;
675
+ /**
676
+ * 문단에 텍스트박스가 있는 Shape 컨트롤이 있으면 해당 control_index를 반환한다.
677
+ * 없으면 -1을 반환한다.
678
+ */
679
+ getTextBoxControlIndex(section_idx: number, para_idx: number): number;
680
+ /**
681
+ * 표 셀 내 문단에서 텍스트 부분 문자열을 반환한다.
682
+ */
683
+ getTextInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, count: number): string;
684
+ getTextInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, count: number): string;
685
+ /**
686
+ * 문단에서 텍스트 부분 문자열을 반환한다 (Undo용 텍스트 보존).
687
+ */
688
+ getTextRange(section_idx: number, para_idx: number, char_offset: number, count: number): string;
689
+ /**
690
+ * 선택된 개체들을 하나의 GroupShape로 묶는다.
691
+ * json: `{"sectionIdx":N, "targets":[{"paraIdx":N,"controlIdx":N},...]}`
692
+ * 반환: JSON `{"ok":true, "paraIdx":N, "controlIdx":N}`
693
+ */
694
+ groupShapes(json: string): string;
695
+ /**
696
+ * 내부 클립보드에 데이터가 있는지 확인한다.
697
+ */
698
+ hasInternalClipboard(): boolean;
699
+ /**
700
+ * 페이지 좌표에서 문서 위치를 찾는다.
701
+ *
702
+ * 반환: JSON `{"sectionIndex":N,"paragraphIndex":N,"charOffset":N}`
703
+ */
704
+ hitTest(page_num: number, x: number, y: number): string;
705
+ /**
706
+ * 각주 영역 히트테스트
707
+ */
708
+ hitTestFootnote(page_num: number, x: number, y: number): string;
709
+ /**
710
+ * 페이지 좌표가 머리말/꼬리말 영역에 해당하는지 판별한다.
711
+ *
712
+ * 반환: JSON `{"hit":true/false,"isHeader":bool,"sectionIndex":N,"applyTo":N}`
713
+ */
714
+ hitTestHeaderFooter(page_num: number, x: number, y: number): string;
715
+ /**
716
+ * 각주 내부 텍스트 히트테스트
717
+ */
718
+ hitTestInFootnote(page_num: number, x: number, y: number): string;
719
+ /**
720
+ * 머리말/꼬리말 내부 텍스트 히트테스트.
721
+ *
722
+ * 편집 모드에서 클릭한 좌표의 문단·문자 위치를 반환.
723
+ * 반환: JSON `{"hit":true,"paraIndex":N,"charOffset":N,"cursorRect":{...}}`
724
+ */
725
+ hitTestInHeaderFooter(page_num: number, is_header: boolean, x: number, y: number): string;
726
+ /**
727
+ * 단 나누기 삽입 (Ctrl+Shift+Enter)
728
+ */
729
+ insertColumnBreak(section_idx: number, para_idx: number, char_offset: number): string;
730
+ /**
731
+ * 머리말/꼬리말 문단에 필드 마커를 삽입한다.
732
+ */
733
+ insertFieldInHf(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number, field_type: number): string;
734
+ /**
735
+ * 각주를 삽입한다.
736
+ */
737
+ insertFootnote(section_idx: number, para_idx: number, char_offset: number): string;
738
+ /**
739
+ * 강제 쪽 나누기 삽입 (Ctrl+Enter)
740
+ */
741
+ insertPageBreak(section_idx: number, para_idx: number, char_offset: number): string;
742
+ /**
743
+ * 커서 위치에 그림을 삽입한다.
744
+ *
745
+ * image_data: 이미지 바이너리 데이터 (PNG/JPG/GIF/BMP 등)
746
+ * width, height: HWPUNIT 단위 크기
747
+ * extension: 파일 확장자 (jpg, png 등)
748
+ *
749
+ * 반환: JSON `{"ok":true,"paraIdx":<N>,"controlIdx":0}`
750
+ */
751
+ insertPicture(section_idx: number, para_idx: number, char_offset: number, image_data: Uint8Array, width: number, height: number, natural_width_px: number, natural_height_px: number, extension: string, description: string): string;
752
+ /**
753
+ * 표에 열을 삽입한다.
754
+ *
755
+ * 반환값: JSON `{"ok":true,"rowCount":<N>,"colCount":<M>}`
756
+ */
757
+ insertTableColumn(section_idx: number, parent_para_idx: number, control_idx: number, col_idx: number, right: boolean): string;
758
+ /**
759
+ * 표에 행을 삽입한다.
760
+ *
761
+ * 반환값: JSON `{"ok":true,"rowCount":<N>,"colCount":<M>}`
762
+ */
763
+ insertTableRow(section_idx: number, parent_para_idx: number, control_idx: number, row_idx: number, below: boolean): string;
764
+ /**
765
+ * 문단에 텍스트를 삽입한다.
766
+ *
767
+ * 삽입 후 구역을 재구성하고 재페이지네이션한다.
768
+ * 반환값: JSON `{"ok":true,"charOffset":<new_offset>}`
769
+ */
770
+ insertText(section_idx: number, para_idx: number, char_offset: number, text: string): string;
771
+ /**
772
+ * 표 셀 내부 문단에 텍스트를 삽입한다.
773
+ *
774
+ * 반환값: JSON `{"ok":true,"charOffset":<new_offset>}`
775
+ */
776
+ insertTextInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, text: string): string;
777
+ insertTextInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, text: string): string;
778
+ /**
779
+ * 각주 내 텍스트를 삽입한다.
780
+ */
781
+ insertTextInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number, char_offset: number, text: string): string;
782
+ /**
783
+ * 머리말/꼬리말 내 텍스트 삽입
784
+ *
785
+ * 반환: JSON `{"ok":true,"charOffset":<new_offset>}`
786
+ */
787
+ insertTextInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number, text: string): string;
788
+ /**
789
+ * 논리적 오프셋으로 텍스트를 삽입한다.
790
+ *
791
+ * logical_offset: 텍스트 문자 + 인라인 컨트롤을 각각 1로 세는 위치.
792
+ * 예: "abc[표]XYZ" → a(0) b(1) c(2) [표](3) X(4) Y(5) Z(6)
793
+ * logical_offset=4이면 표 뒤의 X 앞에 삽입.
794
+ * 반환값: JSON `{"ok":true,"logicalOffset":<new_logical_offset>}`
795
+ */
796
+ insertTextLogical(section_idx: number, para_idx: number, logical_offset: number, text: string): string;
797
+ /**
798
+ * 논리적 오프셋 → 텍스트 오프셋 변환.
799
+ */
800
+ logicalToTextOffset(section_idx: number, para_idx: number, logical_offset: number): number;
801
+ /**
802
+ * 문단별 줄 폭 측정 진단 (WASM)
803
+ */
804
+ measureWidthDiagnostic(section_idx: number, para_idx: number): string;
805
+ /**
806
+ * 현재 문단을 이전 문단에 병합한다 (Backspace at start).
807
+ *
808
+ * para_idx의 텍스트가 para_idx-1에 결합되고 para_idx는 삭제된다.
809
+ * 반환값: JSON `{"ok":true,"paraIdx":<merged_para_idx>,"charOffset":<merge_point>}`
810
+ */
811
+ mergeParagraph(section_idx: number, para_idx: number): string;
812
+ /**
813
+ * 셀 내부 문단을 이전 문단에 병합한다 (셀 내 Backspace at start).
814
+ *
815
+ * 반환값: JSON `{"ok":true,"cellParaIndex":<prev_idx>,"charOffset":<merge_point>}`
816
+ */
817
+ mergeParagraphInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): string;
818
+ mergeParagraphInCellByPath(section_idx: number, parent_para_idx: number, path_json: string): string;
819
+ /**
820
+ * 각주 내 문단을 병합한다 (Backspace at start).
821
+ */
822
+ mergeParagraphInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number): string;
823
+ /**
824
+ * 머리말/꼬리말 내 문단 병합 (Backspace at start)
825
+ *
826
+ * 반환: JSON `{"ok":true,"hfParaIndex":<prev_idx>,"charOffset":<merge_point>}`
827
+ */
828
+ mergeParagraphInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number): string;
829
+ /**
830
+ * 표의 셀을 병합한다.
831
+ *
832
+ * 반환값: JSON `{"ok":true,"cellCount":<N>}`
833
+ */
834
+ mergeTableCells(section_idx: number, parent_para_idx: number, control_idx: number, start_row: number, start_col: number, end_row: number, end_col: number): string;
835
+ /**
836
+ * 직선 끝점 이동 (글로벌 HWPUNIT 좌표)
837
+ */
838
+ moveLineEndpoint(sec: number, para: number, ci: number, sx: number, sy: number, ex: number, ey: number): string;
839
+ /**
840
+ * 표의 위치 오프셋(vertical_offset, horizontal_offset)을 이동한다.
841
+ *
842
+ * delta_h, delta_v: HWPUNIT 단위 이동량 (양수=오른쪽/아래, 음수=왼쪽/위)
843
+ * 반환: JSON `{"ok":true}`
844
+ */
845
+ moveTableOffset(section_idx: number, parent_para_idx: number, control_idx: number, delta_h: number, delta_v: number): string;
846
+ /**
847
+ * 수직 커서 이동 (ArrowUp/Down) — 단일 호출로 줄/문단/표/구역 경계를 모두 처리한다.
848
+ *
849
+ * delta: -1=위, +1=아래
850
+ * preferred_x: 이전 반환값의 preferredX (최초 이동 시 -1.0 전달)
851
+ * 셀 컨텍스트: 본문이면 모두 0xFFFFFFFF 전달
852
+ *
853
+ * 반환: JSON `{DocumentPosition + CursorRect + preferredX}`
854
+ */
855
+ moveVertical(section_idx: number, para_idx: number, char_offset: number, delta: number, preferred_x: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number): string;
856
+ /**
857
+ * 경로 기반 수직 커서 이동 (중첩 표용).
858
+ *
859
+ * 반환: JSON `{DocumentPosition + CursorRect + preferredX}`
860
+ */
861
+ moveVerticalByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, delta: number, preferred_x: number): string;
862
+ /**
863
+ * 페이지 단위로 이전/다음 머리말·꼬리말로 이동한다.
864
+ *
865
+ * 반환: JSON `{"ok":true,"pageIndex":N,"sectionIdx":N,"isHeader":bool,"applyTo":N}`
866
+ * 또는 더 이상 이동할 페이지가 없으면 `{"ok":false}`
867
+ */
868
+ navigateHeaderFooterByPage(current_page: number, is_header: boolean, direction: number): string;
869
+ /**
870
+ * 문서 트리 DFS 기반 다음/이전 편집 가능 위치를 반환한다.
871
+ * context_json: NavContextEntry 배열의 JSON (빈 배열 "[]" = body)
872
+ */
873
+ navigateNextEditable(sec: number, para: number, char_offset: number, delta: number, context_json: string): string;
874
+ /**
875
+ * HWP 파일 바이트를 로드하여 문서 객체를 생성한다.
876
+ */
877
+ constructor(data: Uint8Array);
878
+ /**
879
+ * 총 페이지 수를 반환한다.
880
+ */
881
+ pageCount(): number;
882
+ /**
883
+ * 내부 클립보드의 컨트롤 객체를 캐럿 위치에 붙여넣는다.
884
+ *
885
+ * 반환값: JSON `{"ok":true,"paraIdx":<idx>,"controlIdx":0}`
886
+ */
887
+ pasteControl(section_idx: number, para_idx: number, char_offset: number): string;
888
+ /**
889
+ * HTML 문자열을 파싱하여 캐럿 위치에 삽입한다 (본문).
890
+ */
891
+ pasteHtml(section_idx: number, para_idx: number, char_offset: number, html: string): string;
892
+ /**
893
+ * HTML 문자열을 파싱하여 셀 내부 캐럿 위치에 삽입한다.
894
+ */
895
+ pasteHtmlInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, html: string): string;
896
+ /**
897
+ * 내부 클립보드의 내용을 캐럿 위치에 붙여넣는다 (본문 문단).
898
+ *
899
+ * 반환값: JSON `{"ok":true,"paraIdx":<idx>,"charOffset":<offset>}`
900
+ */
901
+ pasteInternal(section_idx: number, para_idx: number, char_offset: number): string;
902
+ /**
903
+ * 내부 클립보드의 내용을 표 셀 내부에 붙여넣는다.
904
+ *
905
+ * 반환값: JSON `{"ok":true,"cellParaIdx":<idx>,"charOffset":<offset>}`
906
+ */
907
+ pasteInternalInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
908
+ /**
909
+ * 커서 위치의 누름틀 필드를 제거한다 (본문 문단).
910
+ */
911
+ removeFieldAt(section_idx: number, para_idx: number, char_offset: number): string;
912
+ /**
913
+ * 커서 위치의 누름틀 필드를 제거한다 (셀/글상자 내 문단).
914
+ */
915
+ removeFieldAtInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, is_textbox: boolean): string;
916
+ /**
917
+ * 책갈피 이름 변경
918
+ */
919
+ renameBookmark(sec: number, para: number, ctrl_idx: number, new_name: string): string;
920
+ /**
921
+ * 수식 스크립트를 SVG로 렌더링하여 반환한다 (미리보기 전용).
922
+ *
923
+ * 반환: 완전한 `<svg>` 문자열
924
+ */
925
+ renderEquationPreview(script: string, font_size_hwpunit: number, color: number): string;
926
+ /**
927
+ * 특정 페이지를 Canvas 명령 수로 반환한다.
928
+ */
929
+ renderPageCanvas(page_num: number): number;
930
+ /**
931
+ * 특정 페이지를 HTML 문자열로 렌더링한다.
932
+ */
933
+ renderPageHtml(page_num: number): string;
934
+ /**
935
+ * 특정 페이지를 SVG 문자열로 렌더링한다.
936
+ */
937
+ renderPageSvg(page_num: number): string;
938
+ /**
939
+ * 특정 페이지를 Canvas 2D에 직접 렌더링한다.
940
+ *
941
+ * WASM 환경에서만 사용 가능하다. Canvas 크기는 페이지 크기 × scale로 설정된다.
942
+ * scale이 0 이하이면 1.0으로 처리한다 (하위호환).
943
+ */
944
+ renderPageToCanvas(page_num: number, canvas: HTMLCanvasElement, scale: number): void;
945
+ /**
946
+ * 전체 치환
947
+ */
948
+ replaceAll(query: string, new_text: string, case_sensitive: boolean): string;
949
+ /**
950
+ * 텍스트 치환 (단일)
951
+ */
952
+ replaceText(sec: number, para: number, char_offset: number, length: number, new_text: string): string;
953
+ /**
954
+ * 여러 셀의 width/height를 한 번에 조절한다 (배치).
955
+ *
956
+ * json: `[{"cellIdx":0,"widthDelta":150},{"cellIdx":2,"heightDelta":-100}]`
957
+ * 반환: JSON `{"ok":true}`
958
+ */
959
+ resizeTableCells(section_idx: number, parent_para_idx: number, control_idx: number, json: string): string;
960
+ /**
961
+ * 지정 ID의 스냅샷으로 Document를 복원한다.
962
+ */
963
+ restoreSnapshot(id: number): string;
964
+ /**
965
+ * Document 스냅샷을 저장하고 ID를 반환한다.
966
+ */
967
+ saveSnapshot(): number;
968
+ /**
969
+ * 문서 텍스트 검색
970
+ */
971
+ searchText(query: string, from_sec: number, from_para: number, from_char: number, forward: boolean, case_sensitive: boolean): string;
972
+ /**
973
+ * 활성 필드를 설정한다 (본문 문단 — 안내문 숨김용).
974
+ */
975
+ setActiveField(section_idx: number, para_idx: number, char_offset: number): boolean;
976
+ /**
977
+ * path 기반: 중첩 표 셀 내 활성 필드를 설정한다.
978
+ */
979
+ setActiveFieldByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): boolean;
980
+ /**
981
+ * 활성 필드를 설정한다 (셀/글상자 내 문단 — 안내문 숨김용).
982
+ * 변경이 발생하면 true를 반환한다.
983
+ */
984
+ setActiveFieldInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, is_textbox: boolean): boolean;
985
+ /**
986
+ * 셀 속성을 수정한다.
987
+ *
988
+ * 반환: JSON `{"ok":true}`
989
+ */
990
+ setCellProperties(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, json: string): string;
991
+ setClipEnabled(enabled: boolean): void;
992
+ /**
993
+ * 다단 설정 변경
994
+ * column_type: 0=일반, 1=배분, 2=평행
995
+ * same_width: 0=다른 너비, 1=같은 너비
996
+ */
997
+ setColumnDef(section_idx: number, column_count: number, column_type: number, same_width: number, spacing_hu: number): string;
998
+ /**
999
+ * DPI를 설정한다.
1000
+ */
1001
+ setDpi(dpi: number): void;
1002
+ /**
1003
+ * 수식 컨트롤의 속성을 변경한다.
1004
+ *
1005
+ * 반환: JSON `{"ok":true}`
1006
+ */
1007
+ setEquationProperties(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, props_json: string): string;
1008
+ /**
1009
+ * 대체 폰트 경로를 설정한다.
1010
+ */
1011
+ setFallbackFont(path: string): void;
1012
+ /**
1013
+ * field_id로 필드 값을 설정한다.
1014
+ *
1015
+ * 반환: `{ok, fieldId, oldValue, newValue}`
1016
+ */
1017
+ setFieldValue(field_id: number, value: string): string;
1018
+ /**
1019
+ * 필드 이름으로 값을 설정한다.
1020
+ *
1021
+ * 반환: `{ok, fieldId, oldValue, newValue}`
1022
+ */
1023
+ setFieldValueByName(name: string, value: string): string;
1024
+ /**
1025
+ * 파일 이름을 설정한다 (머리말/꼬리말 필드 치환용).
1026
+ */
1027
+ setFileName(name: string): void;
1028
+ /**
1029
+ * 양식 개체 값을 설정한다.
1030
+ *
1031
+ * value_json: `{"value":1}` 또는 `{"text":"입력값"}`
1032
+ * 반환: `{ok}`
1033
+ */
1034
+ setFormValue(sec: number, para: number, ci: number, value_json: string): string;
1035
+ /**
1036
+ * 문단 서식을 적용한다 (본문 문단).
1037
+ * 문단 번호 시작 방식 설정
1038
+ */
1039
+ setNumberingRestart(section_idx: number, para_idx: number, mode: number, start_num: number): string;
1040
+ /**
1041
+ * 구역의 용지 설정(PageDef)을 변경하고 재페이지네이션한다.
1042
+ */
1043
+ setPageDef(section_idx: number, json: string): string;
1044
+ /**
1045
+ * 감추기 설정
1046
+ */
1047
+ setPageHide(sec: number, para: number, hide_header: boolean, hide_footer: boolean, hide_master: boolean, hide_border: boolean, hide_fill: boolean, hide_page_num: boolean): string;
1048
+ /**
1049
+ * 그림 컨트롤의 속성을 변경한다.
1050
+ *
1051
+ * 반환: JSON `{"ok":true}`
1052
+ */
1053
+ setPictureProperties(section_idx: number, parent_para_idx: number, control_idx: number, props_json: string): string;
1054
+ /**
1055
+ * 구역 정의(SectionDef)를 변경하고 재페이지네이션한다.
1056
+ */
1057
+ setSectionDef(section_idx: number, json: string): string;
1058
+ /**
1059
+ * 모든 구역의 SectionDef를 일괄 변경하고 재페이지네이션한다.
1060
+ */
1061
+ setSectionDefAll(json: string): string;
1062
+ /**
1063
+ * Shape(글상자) 속성을 변경한다.
1064
+ *
1065
+ * 반환: JSON `{"ok":true}`
1066
+ */
1067
+ setShapeProperties(section_idx: number, parent_para_idx: number, control_idx: number, props_json: string): string;
1068
+ /**
1069
+ * 조판부호 표시 여부를 설정한다 (개체 마커 + 문단부호 포함).
1070
+ */
1071
+ setShowControlCodes(enabled: boolean): void;
1072
+ /**
1073
+ * 문단부호(¶) 표시 여부를 설정한다.
1074
+ */
1075
+ setShowParagraphMarks(enabled: boolean): void;
1076
+ /**
1077
+ * 투명선 표시 여부를 설정한다.
1078
+ */
1079
+ setShowTransparentBorders(enabled: boolean): void;
1080
+ /**
1081
+ * 표 속성을 수정한다.
1082
+ *
1083
+ * 반환: JSON `{"ok":true}`
1084
+ */
1085
+ setTableProperties(section_idx: number, parent_para_idx: number, control_idx: number, json: string): string;
1086
+ /**
1087
+ * 디버그 오버레이 표시 여부를 설정한다.
1088
+ */
1089
+ set_debug_overlay(enabled: boolean): void;
1090
+ /**
1091
+ * 캐럿 위치에서 문단을 분할한다 (Enter 키).
1092
+ *
1093
+ * char_offset 이후의 텍스트가 새 문단으로 이동한다.
1094
+ * 반환값: JSON `{"ok":true,"paraIdx":<new_para_idx>,"charOffset":0}`
1095
+ */
1096
+ splitParagraph(section_idx: number, para_idx: number, char_offset: number): string;
1097
+ /**
1098
+ * 셀 내부 문단을 분할한다 (셀 내 Enter 키).
1099
+ *
1100
+ * 반환값: JSON `{"ok":true,"cellParaIndex":<new_idx>,"charOffset":0}`
1101
+ */
1102
+ splitParagraphInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
1103
+ splitParagraphInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): string;
1104
+ /**
1105
+ * 각주 내 문단을 분할한다 (Enter).
1106
+ */
1107
+ splitParagraphInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number, char_offset: number): string;
1108
+ /**
1109
+ * 머리말/꼬리말 내 문단 분할 (Enter 키)
1110
+ *
1111
+ * 반환: JSON `{"ok":true,"hfParaIndex":<new_idx>,"charOffset":0}`
1112
+ */
1113
+ splitParagraphInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number): string;
1114
+ /**
1115
+ * 병합된 셀을 나눈다 (split).
1116
+ *
1117
+ * 반환값: JSON `{"ok":true,"cellCount":<N>}`
1118
+ */
1119
+ splitTableCell(section_idx: number, parent_para_idx: number, control_idx: number, row: number, col: number): string;
1120
+ /**
1121
+ * 셀을 N줄 × M칸으로 분할한다.
1122
+ *
1123
+ * 반환값: JSON `{"ok":true,"cellCount":<N>}`
1124
+ */
1125
+ splitTableCellInto(section_idx: number, parent_para_idx: number, control_idx: number, row: number, col: number, n_rows: number, m_cols: number, equal_row_height: boolean, merge_first: boolean): string;
1126
+ /**
1127
+ * 범위 내 셀들을 각각 N줄 × M칸으로 분할한다.
1128
+ *
1129
+ * 반환값: JSON `{"ok":true,"cellCount":<N>}`
1130
+ */
1131
+ splitTableCellsInRange(section_idx: number, parent_para_idx: number, control_idx: number, start_row: number, start_col: number, end_row: number, end_col: number, n_rows: number, m_cols: number, equal_row_height: boolean): string;
1132
+ /**
1133
+ * 텍스트 오프셋 → 논리적 오프셋 변환.
1134
+ */
1135
+ textToLogicalOffset(section_idx: number, para_idx: number, text_offset: number): number;
1136
+ /**
1137
+ * 머리말/꼬리말 감추기를 토글한다 (현재 쪽만).
1138
+ *
1139
+ * 반환: JSON `{"hidden":true/false}` — 토글 후 상태
1140
+ */
1141
+ toggleHideHeaderFooter(page_index: number, is_header: boolean): string;
1142
+ /**
1143
+ * GroupShape를 풀어 자식 개체들을 개별로 복원한다.
1144
+ */
1145
+ ungroupShape(section_idx: number, para_idx: number, control_idx: number): string;
1146
+ /**
1147
+ * 누름틀 필드의 속성을 수정한다.
1148
+ *
1149
+ * 반환: JSON `{"ok":true}` 또는 `{"ok":false}`
1150
+ */
1151
+ updateClickHereProps(field_id: number, guide: string, memo: string, name: string, editable: boolean): string;
1152
+ /**
1153
+ * 구역 내 모든 연결선의 좌표를 연결된 도형 위치에 맞게 갱신한다.
1154
+ */
1155
+ updateConnectorsInSection(section_idx: number): void;
1156
+ /**
1157
+ * 스타일의 메타 정보(이름/영문이름/nextStyleId)를 수정한다.
1158
+ *
1159
+ * json: {"name":"...", "englishName":"...", "nextStyleId":0}
1160
+ */
1161
+ updateStyle(style_id: number, json: string): boolean;
1162
+ /**
1163
+ * 스타일의 CharShape/ParaShape를 수정한다.
1164
+ *
1165
+ * charMods/paraMods는 기존 parse_char_shape_mods/parse_para_shape_mods와 동일한 JSON 형식
1166
+ */
1167
+ updateStyleShapes(style_id: number, char_mods_json: string, para_mods_json: string): boolean;
1168
+ }
1169
+
1170
+ /**
1171
+ * WASM 뷰어 컨트롤러 (뷰포트 관리 + 스케줄링)
1172
+ */
1173
+ export class HwpViewer {
1174
+ free(): void;
1175
+ [Symbol.dispose](): void;
1176
+ /**
1177
+ * 뷰어 생성
1178
+ */
1179
+ constructor(document: HwpDocument);
1180
+ /**
1181
+ * 총 페이지 수
1182
+ */
1183
+ pageCount(): number;
1184
+ /**
1185
+ * 대기 중인 렌더링 작업 수
1186
+ */
1187
+ pendingTaskCount(): number;
1188
+ /**
1189
+ * 특정 페이지 HTML 렌더링
1190
+ */
1191
+ renderPageHtml(page_num: number): string;
1192
+ /**
1193
+ * 특정 페이지 SVG 렌더링
1194
+ */
1195
+ renderPageSvg(page_num: number): string;
1196
+ /**
1197
+ * 줌 변경
1198
+ */
1199
+ setZoom(zoom: number): void;
1200
+ /**
1201
+ * 뷰포트 업데이트 (스크롤/리사이즈 시 호출)
1202
+ */
1203
+ updateViewport(scroll_x: number, scroll_y: number, width: number, height: number): void;
1204
+ /**
1205
+ * 현재 보이는 페이지 목록 반환
1206
+ */
1207
+ visiblePages(): Uint32Array;
1208
+ }
1209
+
1210
+ /**
1211
+ * WASM panic hook 초기화 (한 번만 실행)
1212
+ */
1213
+ export function init_panic_hook(): void;
1214
+
1215
+ export function version(): string;
1216
+
1217
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
1218
+
1219
+ export interface InitOutput {
1220
+ readonly memory: WebAssembly.Memory;
1221
+ readonly __wbg_hwpdocument_free: (a: number, b: number) => void;
1222
+ readonly __wbg_hwpviewer_free: (a: number, b: number) => void;
1223
+ readonly hwpdocument_addBookmark: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1224
+ readonly hwpdocument_applyCellStyle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1225
+ readonly hwpdocument_applyCharFormat: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1226
+ readonly hwpdocument_applyCharFormatInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
1227
+ readonly hwpdocument_applyHfTemplate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1228
+ readonly hwpdocument_applyParaFormat: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1229
+ readonly hwpdocument_applyParaFormatInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1230
+ readonly hwpdocument_applyParaFormatInHf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1231
+ readonly hwpdocument_applyStyle: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1232
+ readonly hwpdocument_beginBatch: (a: number) => [number, number, number, number];
1233
+ readonly hwpdocument_changeShapeZOrder: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1234
+ readonly hwpdocument_clearActiveField: (a: number) => void;
1235
+ readonly hwpdocument_clearClipboard: (a: number) => void;
1236
+ readonly hwpdocument_clipboardHasControl: (a: number) => number;
1237
+ readonly hwpdocument_convertToEditable: (a: number) => [number, number, number, number];
1238
+ readonly hwpdocument_copyControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1239
+ readonly hwpdocument_copySelection: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1240
+ readonly hwpdocument_copySelectionInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1241
+ readonly hwpdocument_createBlankDocument: (a: number) => [number, number, number, number];
1242
+ readonly hwpdocument_createEmpty: () => number;
1243
+ readonly hwpdocument_createHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1244
+ readonly hwpdocument_createNumbering: (a: number, b: number, c: number) => number;
1245
+ readonly hwpdocument_createShapeControl: (a: number, b: number, c: number) => [number, number, number, number];
1246
+ readonly hwpdocument_createStyle: (a: number, b: number, c: number) => number;
1247
+ readonly hwpdocument_createTable: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1248
+ readonly hwpdocument_createTableEx: (a: number, b: number, c: number) => [number, number, number, number];
1249
+ readonly hwpdocument_deleteBookmark: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1250
+ readonly hwpdocument_deleteHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1251
+ readonly hwpdocument_deletePictureControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1252
+ readonly hwpdocument_deleteRange: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1253
+ readonly hwpdocument_deleteRangeInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1254
+ readonly hwpdocument_deleteShapeControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1255
+ readonly hwpdocument_deleteStyle: (a: number, b: number) => number;
1256
+ readonly hwpdocument_deleteTableColumn: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1257
+ readonly hwpdocument_deleteTableControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1258
+ readonly hwpdocument_deleteTableRow: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1259
+ readonly hwpdocument_deleteText: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1260
+ readonly hwpdocument_deleteTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1261
+ readonly hwpdocument_deleteTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1262
+ readonly hwpdocument_deleteTextInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1263
+ readonly hwpdocument_deleteTextInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1264
+ readonly hwpdocument_discardSnapshot: (a: number, b: number) => void;
1265
+ readonly hwpdocument_endBatch: (a: number) => [number, number, number, number];
1266
+ readonly hwpdocument_ensureDefaultBullet: (a: number, b: number, c: number) => number;
1267
+ readonly hwpdocument_ensureDefaultNumbering: (a: number) => number;
1268
+ readonly hwpdocument_evaluateTableFormula: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1269
+ readonly hwpdocument_exportControlHtml: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1270
+ readonly hwpdocument_exportHwp: (a: number) => [number, number, number, number];
1271
+ readonly hwpdocument_exportSelectionHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1272
+ readonly hwpdocument_exportSelectionInCellHtml: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1273
+ readonly hwpdocument_findNearestControlBackward: (a: number, b: number, c: number, d: number) => [number, number];
1274
+ readonly hwpdocument_findNearestControlForward: (a: number, b: number, c: number, d: number) => [number, number];
1275
+ readonly hwpdocument_findNextEditableControl: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1276
+ readonly hwpdocument_findOrCreateFontId: (a: number, b: number, c: number) => number;
1277
+ readonly hwpdocument_findOrCreateFontIdForLang: (a: number, b: number, c: number, d: number) => number;
1278
+ readonly hwpdocument_getBookmarks: (a: number) => [number, number, number, number];
1279
+ readonly hwpdocument_getBulletList: (a: number) => [number, number];
1280
+ readonly hwpdocument_getCaretPosition: (a: number) => [number, number, number, number];
1281
+ readonly hwpdocument_getCellCharPropertiesAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1282
+ readonly hwpdocument_getCellInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1283
+ readonly hwpdocument_getCellInfoByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1284
+ readonly hwpdocument_getCellParaPropertiesAt: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1285
+ readonly hwpdocument_getCellParagraphCount: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1286
+ readonly hwpdocument_getCellParagraphCountByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1287
+ readonly hwpdocument_getCellParagraphLength: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
1288
+ readonly hwpdocument_getCellParagraphLengthByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1289
+ readonly hwpdocument_getCellProperties: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1290
+ readonly hwpdocument_getCellStyleAt: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1291
+ readonly hwpdocument_getCellTextDirection: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
1292
+ readonly hwpdocument_getCharPropertiesAt: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1293
+ readonly hwpdocument_getClickHereProps: (a: number, b: number) => [number, number];
1294
+ readonly hwpdocument_getClipboardText: (a: number) => [number, number];
1295
+ readonly hwpdocument_getControlImageData: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1296
+ readonly hwpdocument_getControlImageMime: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1297
+ readonly hwpdocument_getControlTextPositions: (a: number, b: number, c: number) => [number, number];
1298
+ readonly hwpdocument_getCursorRect: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1299
+ readonly hwpdocument_getCursorRectByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1300
+ readonly hwpdocument_getCursorRectInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1301
+ readonly hwpdocument_getCursorRectInFootnote: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1302
+ readonly hwpdocument_getCursorRectInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1303
+ readonly hwpdocument_getDocumentInfo: (a: number) => [number, number];
1304
+ readonly hwpdocument_getDpi: (a: number) => number;
1305
+ readonly hwpdocument_getEquationProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1306
+ readonly hwpdocument_getEventLog: (a: number) => [number, number];
1307
+ readonly hwpdocument_getFallbackFont: (a: number) => [number, number];
1308
+ readonly hwpdocument_getFieldInfoAt: (a: number, b: number, c: number, d: number) => [number, number];
1309
+ readonly hwpdocument_getFieldInfoAtByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
1310
+ readonly hwpdocument_getFieldInfoAtInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
1311
+ readonly hwpdocument_getFieldList: (a: number) => [number, number];
1312
+ readonly hwpdocument_getFieldValue: (a: number, b: number) => [number, number, number, number];
1313
+ readonly hwpdocument_getFieldValueByName: (a: number, b: number, c: number) => [number, number, number, number];
1314
+ readonly hwpdocument_getFootnoteInfo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1315
+ readonly hwpdocument_getFormObjectAt: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1316
+ readonly hwpdocument_getFormObjectInfo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1317
+ readonly hwpdocument_getFormValue: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1318
+ readonly hwpdocument_getHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1319
+ readonly hwpdocument_getHeaderFooterList: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1320
+ readonly hwpdocument_getHeaderFooterParaInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1321
+ readonly hwpdocument_getLineInfo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1322
+ readonly hwpdocument_getLineInfoInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1323
+ readonly hwpdocument_getLogicalLength: (a: number, b: number, c: number) => [number, number, number];
1324
+ readonly hwpdocument_getNumberingList: (a: number) => [number, number];
1325
+ readonly hwpdocument_getPageControlLayout: (a: number, b: number) => [number, number, number, number];
1326
+ readonly hwpdocument_getPageDef: (a: number, b: number) => [number, number, number, number];
1327
+ readonly hwpdocument_getPageFootnoteInfo: (a: number, b: number, c: number) => [number, number, number, number];
1328
+ readonly hwpdocument_getPageHide: (a: number, b: number, c: number) => [number, number, number, number];
1329
+ readonly hwpdocument_getPageInfo: (a: number, b: number) => [number, number, number, number];
1330
+ readonly hwpdocument_getPageOfPosition: (a: number, b: number, c: number) => [number, number, number, number];
1331
+ readonly hwpdocument_getPageRenderTree: (a: number, b: number) => [number, number, number, number];
1332
+ readonly hwpdocument_getPageTextLayout: (a: number, b: number) => [number, number, number, number];
1333
+ readonly hwpdocument_getParaPropertiesAt: (a: number, b: number, c: number) => [number, number, number, number];
1334
+ readonly hwpdocument_getParaPropertiesInHf: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1335
+ readonly hwpdocument_getParagraphCount: (a: number, b: number) => [number, number, number];
1336
+ readonly hwpdocument_getParagraphLength: (a: number, b: number, c: number) => [number, number, number];
1337
+ readonly hwpdocument_getPictureProperties: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1338
+ readonly hwpdocument_getPositionOfPage: (a: number, b: number) => [number, number, number, number];
1339
+ readonly hwpdocument_getSectionCount: (a: number) => number;
1340
+ readonly hwpdocument_getSectionDef: (a: number, b: number) => [number, number, number, number];
1341
+ readonly hwpdocument_getSelectionRects: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1342
+ readonly hwpdocument_getSelectionRectsInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1343
+ readonly hwpdocument_getShapeProperties: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1344
+ readonly hwpdocument_getShowControlCodes: (a: number) => number;
1345
+ readonly hwpdocument_getStyleAt: (a: number, b: number, c: number) => [number, number];
1346
+ readonly hwpdocument_getStyleDetail: (a: number, b: number) => [number, number];
1347
+ readonly hwpdocument_getStyleList: (a: number) => [number, number];
1348
+ readonly hwpdocument_getTableBBox: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1349
+ readonly hwpdocument_getTableCellBboxes: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1350
+ readonly hwpdocument_getTableCellBboxesByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1351
+ readonly hwpdocument_getTableDimensions: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1352
+ readonly hwpdocument_getTableDimensionsByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1353
+ readonly hwpdocument_getTableProperties: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1354
+ readonly hwpdocument_getTextBoxControlIndex: (a: number, b: number, c: number) => number;
1355
+ readonly hwpdocument_getTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1356
+ readonly hwpdocument_getTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1357
+ readonly hwpdocument_getTextRange: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1358
+ readonly hwpdocument_groupShapes: (a: number, b: number, c: number) => [number, number, number, number];
1359
+ readonly hwpdocument_hasInternalClipboard: (a: number) => number;
1360
+ readonly hwpdocument_hitTest: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1361
+ readonly hwpdocument_hitTestFootnote: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1362
+ readonly hwpdocument_hitTestHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1363
+ readonly hwpdocument_hitTestInFootnote: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1364
+ readonly hwpdocument_hitTestInHeaderFooter: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1365
+ readonly hwpdocument_insertColumnBreak: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1366
+ readonly hwpdocument_insertFieldInHf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1367
+ readonly hwpdocument_insertFootnote: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1368
+ readonly hwpdocument_insertPageBreak: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1369
+ readonly hwpdocument_insertPicture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number) => [number, number, number, number];
1370
+ readonly hwpdocument_insertTableColumn: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1371
+ readonly hwpdocument_insertTableRow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1372
+ readonly hwpdocument_insertText: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1373
+ readonly hwpdocument_insertTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1374
+ readonly hwpdocument_insertTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1375
+ readonly hwpdocument_insertTextInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1376
+ readonly hwpdocument_insertTextInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1377
+ readonly hwpdocument_insertTextLogical: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1378
+ readonly hwpdocument_logicalToTextOffset: (a: number, b: number, c: number, d: number) => [number, number, number];
1379
+ readonly hwpdocument_measureWidthDiagnostic: (a: number, b: number, c: number) => [number, number, number, number];
1380
+ readonly hwpdocument_mergeParagraph: (a: number, b: number, c: number) => [number, number, number, number];
1381
+ readonly hwpdocument_mergeParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1382
+ readonly hwpdocument_mergeParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1383
+ readonly hwpdocument_mergeParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1384
+ readonly hwpdocument_mergeParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1385
+ readonly hwpdocument_mergeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1386
+ readonly hwpdocument_moveLineEndpoint: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1387
+ readonly hwpdocument_moveTableOffset: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1388
+ readonly hwpdocument_moveVertical: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
1389
+ readonly hwpdocument_moveVerticalByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1390
+ readonly hwpdocument_navigateHeaderFooterByPage: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1391
+ readonly hwpdocument_navigateNextEditable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
1392
+ readonly hwpdocument_new: (a: number, b: number) => [number, number, number];
1393
+ readonly hwpdocument_pageCount: (a: number) => number;
1394
+ readonly hwpdocument_pasteControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1395
+ readonly hwpdocument_pasteHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1396
+ readonly hwpdocument_pasteHtmlInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1397
+ readonly hwpdocument_pasteInternal: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1398
+ readonly hwpdocument_pasteInternalInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1399
+ readonly hwpdocument_removeFieldAt: (a: number, b: number, c: number, d: number) => [number, number];
1400
+ readonly hwpdocument_removeFieldAtInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
1401
+ readonly hwpdocument_renameBookmark: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1402
+ readonly hwpdocument_renderEquationPreview: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1403
+ readonly hwpdocument_renderPageCanvas: (a: number, b: number) => [number, number, number];
1404
+ readonly hwpdocument_renderPageHtml: (a: number, b: number) => [number, number, number, number];
1405
+ readonly hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
1406
+ readonly hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
1407
+ readonly hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1408
+ readonly hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1409
+ readonly hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1410
+ readonly hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
1411
+ readonly hwpdocument_saveSnapshot: (a: number) => number;
1412
+ readonly hwpdocument_searchText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1413
+ readonly hwpdocument_setActiveField: (a: number, b: number, c: number, d: number) => number;
1414
+ readonly hwpdocument_setActiveFieldByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
1415
+ readonly hwpdocument_setActiveFieldInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
1416
+ readonly hwpdocument_setCellProperties: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1417
+ readonly hwpdocument_setClipEnabled: (a: number, b: number) => void;
1418
+ readonly hwpdocument_setColumnDef: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1419
+ readonly hwpdocument_setDpi: (a: number, b: number) => void;
1420
+ readonly hwpdocument_setEquationProperties: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1421
+ readonly hwpdocument_setFallbackFont: (a: number, b: number, c: number) => void;
1422
+ readonly hwpdocument_setFieldValue: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1423
+ readonly hwpdocument_setFieldValueByName: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1424
+ readonly hwpdocument_setFileName: (a: number, b: number, c: number) => void;
1425
+ readonly hwpdocument_setFormValue: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1426
+ readonly hwpdocument_setNumberingRestart: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1427
+ readonly hwpdocument_setPageDef: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1428
+ readonly hwpdocument_setPageHide: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1429
+ readonly hwpdocument_setPictureProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1430
+ readonly hwpdocument_setSectionDef: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1431
+ readonly hwpdocument_setSectionDefAll: (a: number, b: number, c: number) => [number, number, number, number];
1432
+ readonly hwpdocument_setShapeProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1433
+ readonly hwpdocument_setShowControlCodes: (a: number, b: number) => void;
1434
+ readonly hwpdocument_setShowParagraphMarks: (a: number, b: number) => void;
1435
+ readonly hwpdocument_setShowTransparentBorders: (a: number, b: number) => void;
1436
+ readonly hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1437
+ readonly hwpdocument_set_debug_overlay: (a: number, b: number) => void;
1438
+ readonly hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1439
+ readonly hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1440
+ readonly hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1441
+ readonly hwpdocument_splitParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1442
+ readonly hwpdocument_splitParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1443
+ readonly hwpdocument_splitTableCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1444
+ readonly hwpdocument_splitTableCellInto: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
1445
+ readonly hwpdocument_splitTableCellsInRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number, number, number];
1446
+ readonly hwpdocument_textToLogicalOffset: (a: number, b: number, c: number, d: number) => [number, number, number];
1447
+ readonly hwpdocument_toggleHideHeaderFooter: (a: number, b: number, c: number) => [number, number, number, number];
1448
+ readonly hwpdocument_ungroupShape: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1449
+ readonly hwpdocument_updateClickHereProps: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
1450
+ readonly hwpdocument_updateConnectorsInSection: (a: number, b: number) => void;
1451
+ readonly hwpdocument_updateStyle: (a: number, b: number, c: number, d: number) => number;
1452
+ readonly hwpdocument_updateStyleShapes: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
1453
+ readonly hwpviewer_new: (a: number) => number;
1454
+ readonly hwpviewer_pendingTaskCount: (a: number) => number;
1455
+ readonly hwpviewer_renderPageHtml: (a: number, b: number) => [number, number, number, number];
1456
+ readonly hwpviewer_renderPageSvg: (a: number, b: number) => [number, number, number, number];
1457
+ readonly hwpviewer_setZoom: (a: number, b: number) => void;
1458
+ readonly hwpviewer_updateViewport: (a: number, b: number, c: number, d: number, e: number) => void;
1459
+ readonly hwpviewer_visiblePages: (a: number) => [number, number];
1460
+ readonly hwpviewer_pageCount: (a: number) => number;
1461
+ readonly version: () => [number, number];
1462
+ readonly init_panic_hook: () => void;
1463
+ readonly __wbindgen_exn_store: (a: number) => void;
1464
+ readonly __externref_table_alloc: () => number;
1465
+ readonly __wbindgen_externrefs: WebAssembly.Table;
1466
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
1467
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
1468
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
1469
+ readonly __externref_table_dealloc: (a: number) => void;
1470
+ readonly __wbindgen_start: () => void;
1471
+ }
1472
+
1473
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
1474
+
1475
+ /**
1476
+ * Instantiates the given `module`, which can either be bytes or
1477
+ * a precompiled `WebAssembly.Module`.
1478
+ *
1479
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
1480
+ *
1481
+ * @returns {InitOutput}
1482
+ */
1483
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
1484
+
1485
+ /**
1486
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
1487
+ * for everything else, calls `WebAssembly.instantiate` directly.
1488
+ *
1489
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
1490
+ *
1491
+ * @returns {Promise<InitOutput>}
1492
+ */
1493
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;