A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 interface StringPathBookmark { 2 start: string; 3 end?: string; 4 forward?: boolean; 5 } 6 interface RangeBookmark { 7 rng: Range; 8 forward?: boolean; 9 } 10 interface IdBookmark { 11 id: string; 12 keep?: boolean; 13 forward?: boolean; 14 } 15 interface IndexBookmark { 16 name: string; 17 index: number; 18 } 19 interface PathBookmark { 20 start: number[]; 21 end?: number[]; 22 isFakeCaret?: boolean; 23 forward?: boolean; 24 } 25 declare type Bookmark = StringPathBookmark | RangeBookmark | IdBookmark | IndexBookmark | PathBookmark; 26 declare type NormalizedEvent<E, T = any> = E & { 27 readonly type: string; 28 readonly target: T; 29 readonly isDefaultPrevented: () => boolean; 30 readonly preventDefault: () => void; 31 readonly isPropagationStopped: () => boolean; 32 readonly stopPropagation: () => void; 33 readonly isImmediatePropagationStopped: () => boolean; 34 readonly stopImmediatePropagation: () => void; 35 }; 36 declare type MappedEvent<T extends {}, K extends string> = K extends keyof T ? T[K] : any; 37 interface NativeEventMap { 38 'beforepaste': Event; 39 'blur': FocusEvent; 40 'beforeinput': InputEvent; 41 'click': MouseEvent; 42 'compositionend': Event; 43 'compositionstart': Event; 44 'compositionupdate': Event; 45 'contextmenu': PointerEvent; 46 'copy': ClipboardEvent; 47 'cut': ClipboardEvent; 48 'dblclick': MouseEvent; 49 'drag': DragEvent; 50 'dragdrop': DragEvent; 51 'dragend': DragEvent; 52 'draggesture': DragEvent; 53 'dragover': DragEvent; 54 'dragstart': DragEvent; 55 'drop': DragEvent; 56 'focus': FocusEvent; 57 'focusin': FocusEvent; 58 'focusout': FocusEvent; 59 'input': InputEvent; 60 'keydown': KeyboardEvent; 61 'keypress': KeyboardEvent; 62 'keyup': KeyboardEvent; 63 'mousedown': MouseEvent; 64 'mouseenter': MouseEvent; 65 'mouseleave': MouseEvent; 66 'mousemove': MouseEvent; 67 'mouseout': MouseEvent; 68 'mouseover': MouseEvent; 69 'mouseup': MouseEvent; 70 'paste': ClipboardEvent; 71 'selectionchange': Event; 72 'submit': Event; 73 'touchend': TouchEvent; 74 'touchmove': TouchEvent; 75 'touchstart': TouchEvent; 76 'touchcancel': TouchEvent; 77 'wheel': WheelEvent; 78 } 79 declare type EditorEvent<T> = NormalizedEvent<T>; 80 interface EventDispatcherSettings { 81 scope?: any; 82 toggleEvent?: (name: string, state: boolean) => void | boolean; 83 beforeFire?: <T>(args: EditorEvent<T>) => void; 84 } 85 interface EventDispatcherConstructor<T extends {}> { 86 readonly prototype: EventDispatcher<T>; 87 new (settings?: EventDispatcherSettings): EventDispatcher<T>; 88 isNative: (name: string) => boolean; 89 } 90 declare class EventDispatcher<T extends {}> { 91 static isNative(name: string): boolean; 92 private readonly settings; 93 private readonly scope; 94 private readonly toggleEvent; 95 private bindings; 96 constructor(settings?: EventDispatcherSettings); 97 fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>; 98 dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>; 99 on<K extends string>(name: K, callback: false | ((event: EditorEvent<MappedEvent<T, K>>) => void | boolean), prepend?: boolean, extra?: {}): this; 100 off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): this; 101 once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): this; 102 has(name: string): boolean; 103 } 104 declare const enum UndoLevelType { 105 Fragmented = "fragmented", 106 Complete = "complete" 107 } 108 interface BaseUndoLevel { 109 type: UndoLevelType; 110 bookmark: Bookmark | null; 111 beforeBookmark: Bookmark | null; 112 } 113 interface FragmentedUndoLevel extends BaseUndoLevel { 114 type: UndoLevelType.Fragmented; 115 fragments: string[]; 116 content: ''; 117 } 118 interface CompleteUndoLevel extends BaseUndoLevel { 119 type: UndoLevelType.Complete; 120 fragments: null; 121 content: string; 122 } 123 declare type NewUndoLevel = CompleteUndoLevel | FragmentedUndoLevel; 124 declare type UndoLevel = NewUndoLevel & { 125 bookmark: Bookmark; 126 }; 127 interface UndoManager { 128 data: UndoLevel[]; 129 typing: boolean; 130 add: (level?: Partial<UndoLevel>, event?: EditorEvent<any>) => UndoLevel | null; 131 dispatchChange: () => void; 132 beforeChange: () => void; 133 undo: () => UndoLevel | undefined; 134 redo: () => UndoLevel | undefined; 135 clear: () => void; 136 reset: () => void; 137 hasUndo: () => boolean; 138 hasRedo: () => boolean; 139 transact: (callback: () => void) => UndoLevel | null; 140 ignore: (callback: () => void) => void; 141 extra: (callback1: () => void, callback2: () => void) => void; 142 } 143 declare type SchemaType = 'html4' | 'html5' | 'html5-strict'; 144 interface ElementSettings { 145 block_elements?: string; 146 boolean_attributes?: string; 147 move_caret_before_on_enter_elements?: string; 148 non_empty_elements?: string; 149 self_closing_elements?: string; 150 text_block_elements?: string; 151 text_inline_elements?: string; 152 void_elements?: string; 153 whitespace_elements?: string; 154 transparent_elements?: string; 155 } 156 interface SchemaSettings extends ElementSettings { 157 custom_elements?: string; 158 extended_valid_elements?: string; 159 invalid_elements?: string; 160 invalid_styles?: string | Record<string, string>; 161 schema?: SchemaType; 162 valid_children?: string; 163 valid_classes?: string | Record<string, string>; 164 valid_elements?: string; 165 valid_styles?: string | Record<string, string>; 166 verify_html?: boolean; 167 padd_empty_block_inline_children?: boolean; 168 } 169 interface Attribute { 170 required?: boolean; 171 defaultValue?: string; 172 forcedValue?: string; 173 validValues?: Record<string, {}>; 174 } 175 interface DefaultAttribute { 176 name: string; 177 value: string; 178 } 179 interface AttributePattern extends Attribute { 180 pattern: RegExp; 181 } 182 interface ElementRule { 183 attributes: Record<string, Attribute>; 184 attributesDefault?: DefaultAttribute[]; 185 attributesForced?: DefaultAttribute[]; 186 attributesOrder: string[]; 187 attributePatterns?: AttributePattern[]; 188 attributesRequired?: string[]; 189 paddEmpty?: boolean; 190 removeEmpty?: boolean; 191 removeEmptyAttrs?: boolean; 192 paddInEmptyBlock?: boolean; 193 } 194 interface SchemaElement extends ElementRule { 195 outputName?: string; 196 parentsRequired?: string[]; 197 pattern?: RegExp; 198 } 199 interface SchemaMap { 200 [name: string]: {}; 201 } 202 interface SchemaRegExpMap { 203 [name: string]: RegExp; 204 } 205 interface Schema { 206 type: SchemaType; 207 children: Record<string, SchemaMap>; 208 elements: Record<string, SchemaElement>; 209 getValidStyles: () => Record<string, string[]> | undefined; 210 getValidClasses: () => Record<string, SchemaMap> | undefined; 211 getBlockElements: () => SchemaMap; 212 getInvalidStyles: () => Record<string, SchemaMap> | undefined; 213 getVoidElements: () => SchemaMap; 214 getTextBlockElements: () => SchemaMap; 215 getTextInlineElements: () => SchemaMap; 216 getBoolAttrs: () => SchemaMap; 217 getElementRule: (name: string) => SchemaElement | undefined; 218 getSelfClosingElements: () => SchemaMap; 219 getNonEmptyElements: () => SchemaMap; 220 getMoveCaretBeforeOnEnterElements: () => SchemaMap; 221 getWhitespaceElements: () => SchemaMap; 222 getTransparentElements: () => SchemaMap; 223 getSpecialElements: () => SchemaRegExpMap; 224 isValidChild: (name: string, child: string) => boolean; 225 isValid: (name: string, attr?: string) => boolean; 226 getCustomElements: () => SchemaMap; 227 addValidElements: (validElements: string) => void; 228 setValidElements: (validElements: string) => void; 229 addCustomElements: (customElements: string) => void; 230 addValidChildren: (validChildren: any) => void; 231 } 232 declare type Attributes$1 = Array<{ 233 name: string; 234 value: string; 235 }> & { 236 map: Record<string, string>; 237 }; 238 interface AstNodeConstructor { 239 readonly prototype: AstNode; 240 new (name: string, type: number): AstNode; 241 create(name: string, attrs?: Record<string, string>): AstNode; 242 } 243 declare class AstNode { 244 static create(name: string, attrs?: Record<string, string>): AstNode; 245 name: string; 246 type: number; 247 attributes?: Attributes$1; 248 value?: string; 249 parent?: AstNode | null; 250 firstChild?: AstNode | null; 251 lastChild?: AstNode | null; 252 next?: AstNode | null; 253 prev?: AstNode | null; 254 raw?: boolean; 255 constructor(name: string, type: number); 256 replace(node: AstNode): AstNode; 257 attr(name: string, value: string | null | undefined): AstNode | undefined; 258 attr(name: Record<string, string | null | undefined> | undefined): AstNode | undefined; 259 attr(name: string): string | undefined; 260 clone(): AstNode; 261 wrap(wrapper: AstNode): AstNode; 262 unwrap(): void; 263 remove(): AstNode; 264 append(node: AstNode): AstNode; 265 insert(node: AstNode, refNode: AstNode, before?: boolean): AstNode; 266 getAll(name: string): AstNode[]; 267 children(): AstNode[]; 268 empty(): AstNode; 269 isEmpty(elements: SchemaMap, whitespace?: SchemaMap, predicate?: (node: AstNode) => boolean): boolean; 270 walk(prev?: boolean): AstNode | null | undefined; 271 } 272 declare type Content = string | AstNode; 273 declare type ContentFormat = 'raw' | 'text' | 'html' | 'tree'; 274 interface GetContentArgs { 275 format: ContentFormat; 276 get: boolean; 277 getInner: boolean; 278 no_events?: boolean; 279 save?: boolean; 280 source_view?: boolean; 281 [key: string]: any; 282 } 283 interface SetContentArgs { 284 format: string; 285 set: boolean; 286 content: Content; 287 no_events?: boolean; 288 no_selection?: boolean; 289 paste?: boolean; 290 load?: boolean; 291 initial?: boolean; 292 [key: string]: any; 293 } 294 interface GetSelectionContentArgs extends GetContentArgs { 295 selection?: boolean; 296 contextual?: boolean; 297 } 298 interface SetSelectionContentArgs extends SetContentArgs { 299 content: string; 300 selection?: boolean; 301 } 302 interface BlobInfoData { 303 id?: string; 304 name?: string; 305 filename?: string; 306 blob: Blob; 307 base64: string; 308 blobUri?: string; 309 uri?: string; 310 } 311 interface BlobInfo { 312 id: () => string; 313 name: () => string; 314 filename: () => string; 315 blob: () => Blob; 316 base64: () => string; 317 blobUri: () => string; 318 uri: () => string | undefined; 319 } 320 interface BlobCache { 321 create: { 322 (o: BlobInfoData): BlobInfo; 323 (id: string, blob: Blob, base64: string, name?: string, filename?: string): BlobInfo; 324 }; 325 add: (blobInfo: BlobInfo) => void; 326 get: (id: string) => BlobInfo | undefined; 327 getByUri: (blobUri: string) => BlobInfo | undefined; 328 getByData: (base64: string, type: string) => BlobInfo | undefined; 329 findFirst: (predicate: (blobInfo: BlobInfo) => boolean) => BlobInfo | undefined; 330 removeByUri: (blobUri: string) => void; 331 destroy: () => void; 332 } 333 interface BlobInfoImagePair { 334 image: HTMLImageElement; 335 blobInfo: BlobInfo; 336 } 337 declare class NodeChange { 338 private readonly editor; 339 private lastPath; 340 constructor(editor: Editor); 341 nodeChanged(args?: Record<string, any>): void; 342 private isSameElementPath; 343 } 344 interface SelectionOverrides { 345 showCaret: (direction: number, node: HTMLElement, before: boolean, scrollIntoView?: boolean) => Range | null; 346 showBlockCaretContainer: (blockCaretContainer: HTMLElement) => void; 347 hideFakeCaret: () => void; 348 destroy: () => void; 349 } 350 interface Quirks { 351 refreshContentEditable(): void; 352 isHidden(): boolean; 353 } 354 declare type DecoratorData = Record<string, any>; 355 declare type Decorator = (uid: string, data: DecoratorData) => { 356 attributes?: {}; 357 classes?: string[]; 358 }; 359 declare type AnnotationListener = (state: boolean, name: string, data?: { 360 uid: string; 361 nodes: any[]; 362 }) => void; 363 declare type AnnotationListenerApi = AnnotationListener; 364 interface AnnotatorSettings { 365 decorate: Decorator; 366 persistent?: boolean; 367 } 368 interface Annotator { 369 register: (name: string, settings: AnnotatorSettings) => void; 370 annotate: (name: string, data: DecoratorData) => void; 371 annotationChanged: (name: string, f: AnnotationListenerApi) => void; 372 remove: (name: string) => void; 373 removeAll: (name: string) => void; 374 getAll: (name: string) => Record<string, Element[]>; 375 } 376 interface GeomRect { 377 readonly x: number; 378 readonly y: number; 379 readonly w: number; 380 readonly h: number; 381 } 382 interface Rect { 383 inflate: (rect: GeomRect, w: number, h: number) => GeomRect; 384 relativePosition: (rect: GeomRect, targetRect: GeomRect, rel: string) => GeomRect; 385 findBestRelativePosition: (rect: GeomRect, targetRect: GeomRect, constrainRect: GeomRect, rels: string[]) => string | null; 386 intersect: (rect: GeomRect, cropRect: GeomRect) => GeomRect | null; 387 clamp: (rect: GeomRect, clampRect: GeomRect, fixedSize?: boolean) => GeomRect; 388 create: (x: number, y: number, w: number, h: number) => GeomRect; 389 fromClientRect: (clientRect: DOMRect) => GeomRect; 390 } 391 interface NotificationManagerImpl { 392 open: (spec: NotificationSpec, closeCallback: () => void) => NotificationApi; 393 close: <T extends NotificationApi>(notification: T) => void; 394 getArgs: <T extends NotificationApi>(notification: T) => NotificationSpec; 395 } 396 interface NotificationSpec { 397 type?: 'info' | 'warning' | 'error' | 'success'; 398 text: string; 399 icon?: string; 400 progressBar?: boolean; 401 timeout?: number; 402 closeButton?: boolean; 403 } 404 interface NotificationApi { 405 close: () => void; 406 progressBar: { 407 value: (percent: number) => void; 408 }; 409 text: (text: string) => void; 410 reposition: () => void; 411 getEl: () => HTMLElement; 412 settings: NotificationSpec; 413 } 414 interface NotificationManager { 415 open: (spec: NotificationSpec) => NotificationApi; 416 close: () => void; 417 getNotifications: () => NotificationApi[]; 418 } 419 interface UploadFailure { 420 message: string; 421 remove?: boolean; 422 } 423 declare type ProgressFn = (percent: number) => void; 424 declare type UploadHandler = (blobInfo: BlobInfo, progress: ProgressFn) => Promise<string>; 425 interface UploadResult$2 { 426 url: string; 427 blobInfo: BlobInfo; 428 status: boolean; 429 error?: UploadFailure; 430 } 431 interface RawPattern { 432 start?: any; 433 end?: any; 434 format?: any; 435 cmd?: any; 436 value?: any; 437 replacement?: any; 438 } 439 interface InlineBasePattern { 440 readonly start: string; 441 readonly end: string; 442 } 443 interface InlineFormatPattern extends InlineBasePattern { 444 readonly type: 'inline-format'; 445 readonly format: string[]; 446 } 447 interface InlineCmdPattern extends InlineBasePattern { 448 readonly type: 'inline-command'; 449 readonly cmd: string; 450 readonly value?: any; 451 } 452 declare type InlinePattern = InlineFormatPattern | InlineCmdPattern; 453 interface BlockBasePattern { 454 readonly start: string; 455 } 456 interface BlockFormatPattern extends BlockBasePattern { 457 readonly type: 'block-format'; 458 readonly format: string; 459 } 460 interface BlockCmdPattern extends BlockBasePattern { 461 readonly type: 'block-command'; 462 readonly cmd: string; 463 readonly value?: any; 464 } 465 declare type BlockPattern = BlockFormatPattern | BlockCmdPattern; 466 declare type Pattern = InlinePattern | BlockPattern; 467 interface DynamicPatternContext { 468 readonly text: string; 469 readonly block: Element; 470 } 471 declare type DynamicPatternsLookup = (ctx: DynamicPatternContext) => Pattern[]; 472 declare type RawDynamicPatternsLookup = (ctx: DynamicPatternContext) => RawPattern[]; 473 interface AlertBannerSpec { 474 type: 'alertbanner'; 475 level: 'info' | 'warn' | 'error' | 'success'; 476 text: string; 477 icon: string; 478 url?: string; 479 } 480 interface ButtonSpec { 481 type: 'button'; 482 text: string; 483 enabled?: boolean; 484 primary?: boolean; 485 name?: string; 486 icon?: string; 487 borderless?: boolean; 488 buttonType?: 'primary' | 'secondary' | 'toolbar'; 489 } 490 interface FormComponentSpec { 491 type: string; 492 name: string; 493 } 494 interface FormComponentWithLabelSpec extends FormComponentSpec { 495 label?: string; 496 } 497 interface CheckboxSpec extends FormComponentSpec { 498 type: 'checkbox'; 499 label: string; 500 enabled?: boolean; 501 } 502 interface CollectionSpec extends FormComponentWithLabelSpec { 503 type: 'collection'; 504 } 505 interface CollectionItem { 506 value: string; 507 text: string; 508 icon: string; 509 } 510 interface ColorInputSpec extends FormComponentWithLabelSpec { 511 type: 'colorinput'; 512 storageKey?: string; 513 } 514 interface ColorPickerSpec extends FormComponentWithLabelSpec { 515 type: 'colorpicker'; 516 } 517 interface CustomEditorInit { 518 setValue: (value: string) => void; 519 getValue: () => string; 520 destroy: () => void; 521 } 522 declare type CustomEditorInitFn = (elm: HTMLElement, settings: any) => Promise<CustomEditorInit>; 523 interface CustomEditorOldSpec extends FormComponentSpec { 524 type: 'customeditor'; 525 tag?: string; 526 init: (e: HTMLElement) => Promise<CustomEditorInit>; 527 } 528 interface CustomEditorNewSpec extends FormComponentSpec { 529 type: 'customeditor'; 530 tag?: string; 531 scriptId: string; 532 scriptUrl: string; 533 settings?: any; 534 } 535 declare type CustomEditorSpec = CustomEditorOldSpec | CustomEditorNewSpec; 536 interface DropZoneSpec extends FormComponentWithLabelSpec { 537 type: 'dropzone'; 538 } 539 interface GridSpec { 540 type: 'grid'; 541 columns: number; 542 items: BodyComponentSpec[]; 543 } 544 interface HtmlPanelSpec { 545 type: 'htmlpanel'; 546 html: string; 547 presets?: 'presentation' | 'document'; 548 } 549 interface IframeSpec extends FormComponentWithLabelSpec { 550 type: 'iframe'; 551 sandboxed?: boolean; 552 transparent?: boolean; 553 } 554 interface ImagePreviewSpec extends FormComponentSpec { 555 type: 'imagepreview'; 556 height?: string; 557 } 558 interface InputSpec extends FormComponentWithLabelSpec { 559 type: 'input'; 560 inputMode?: string; 561 placeholder?: string; 562 maximized?: boolean; 563 enabled?: boolean; 564 } 565 interface LabelSpec { 566 type: 'label'; 567 label: string; 568 items: BodyComponentSpec[]; 569 } 570 interface ListBoxSingleItemSpec { 571 text: string; 572 value: string; 573 } 574 interface ListBoxNestedItemSpec { 575 text: string; 576 items: ListBoxItemSpec[]; 577 } 578 declare type ListBoxItemSpec = ListBoxNestedItemSpec | ListBoxSingleItemSpec; 579 interface ListBoxSpec extends FormComponentWithLabelSpec { 580 type: 'listbox'; 581 items: ListBoxItemSpec[]; 582 disabled?: boolean; 583 } 584 interface PanelSpec { 585 type: 'panel'; 586 classes?: string[]; 587 items: BodyComponentSpec[]; 588 } 589 interface SelectBoxItemSpec { 590 text: string; 591 value: string; 592 } 593 interface SelectBoxSpec extends FormComponentWithLabelSpec { 594 type: 'selectbox'; 595 items: SelectBoxItemSpec[]; 596 size?: number; 597 enabled?: boolean; 598 } 599 interface SizeInputSpec extends FormComponentWithLabelSpec { 600 type: 'sizeinput'; 601 constrain?: boolean; 602 enabled?: boolean; 603 } 604 interface SliderSpec extends FormComponentSpec { 605 type: 'slider'; 606 label: string; 607 min?: number; 608 max?: number; 609 } 610 interface TableSpec { 611 type: 'table'; 612 header: string[]; 613 cells: string[][]; 614 } 615 interface TextAreaSpec extends FormComponentWithLabelSpec { 616 type: 'textarea'; 617 placeholder?: string; 618 maximized?: boolean; 619 enabled?: boolean; 620 } 621 interface BaseToolbarButtonSpec<I extends BaseToolbarButtonInstanceApi> { 622 enabled?: boolean; 623 tooltip?: string; 624 icon?: string; 625 text?: string; 626 onSetup?: (api: I) => (api: I) => void; 627 } 628 interface BaseToolbarButtonInstanceApi { 629 isEnabled: () => boolean; 630 setEnabled: (state: boolean) => void; 631 setText: (text: string) => void; 632 setIcon: (icon: string) => void; 633 } 634 interface ToolbarButtonSpec extends BaseToolbarButtonSpec<ToolbarButtonInstanceApi> { 635 type?: 'button'; 636 onAction: (api: ToolbarButtonInstanceApi) => void; 637 } 638 interface ToolbarButtonInstanceApi extends BaseToolbarButtonInstanceApi { 639 } 640 interface ToolbarGroupSetting { 641 name: string; 642 items: string[]; 643 } 644 declare type ToolbarConfig = string | ToolbarGroupSetting[]; 645 interface GroupToolbarButtonInstanceApi extends BaseToolbarButtonInstanceApi { 646 } 647 interface GroupToolbarButtonSpec extends BaseToolbarButtonSpec<GroupToolbarButtonInstanceApi> { 648 type?: 'grouptoolbarbutton'; 649 items?: ToolbarConfig; 650 } 651 interface CardImageSpec { 652 type: 'cardimage'; 653 src: string; 654 alt?: string; 655 classes?: string[]; 656 } 657 interface CardTextSpec { 658 type: 'cardtext'; 659 text: string; 660 name?: string; 661 classes?: string[]; 662 } 663 declare type CardItemSpec = CardContainerSpec | CardImageSpec | CardTextSpec; 664 declare type CardContainerDirection = 'vertical' | 'horizontal'; 665 declare type CardContainerAlign = 'left' | 'right'; 666 declare type CardContainerValign = 'top' | 'middle' | 'bottom'; 667 interface CardContainerSpec { 668 type: 'cardcontainer'; 669 items: CardItemSpec[]; 670 direction?: CardContainerDirection; 671 align?: CardContainerAlign; 672 valign?: CardContainerValign; 673 } 674 interface CommonMenuItemSpec { 675 enabled?: boolean; 676 text?: string; 677 value?: string; 678 meta?: Record<string, any>; 679 shortcut?: string; 680 } 681 interface CommonMenuItemInstanceApi { 682 isEnabled: () => boolean; 683 setEnabled: (state: boolean) => void; 684 } 685 interface CardMenuItemInstanceApi extends CommonMenuItemInstanceApi { 686 } 687 interface CardMenuItemSpec extends Omit<CommonMenuItemSpec, 'text' | 'shortcut'> { 688 type: 'cardmenuitem'; 689 label?: string; 690 items: CardItemSpec[]; 691 onSetup?: (api: CardMenuItemInstanceApi) => (api: CardMenuItemInstanceApi) => void; 692 onAction?: (api: CardMenuItemInstanceApi) => void; 693 } 694 interface ChoiceMenuItemSpec extends CommonMenuItemSpec { 695 type?: 'choiceitem'; 696 icon?: string; 697 } 698 interface ChoiceMenuItemInstanceApi extends CommonMenuItemInstanceApi { 699 isActive: () => boolean; 700 setActive: (state: boolean) => void; 701 } 702 interface ContextMenuItem extends CommonMenuItemSpec { 703 text: string; 704 icon?: string; 705 type?: 'item'; 706 onAction: () => void; 707 } 708 interface ContextSubMenu extends CommonMenuItemSpec { 709 type: 'submenu'; 710 text: string; 711 icon?: string; 712 getSubmenuItems: () => string | Array<ContextMenuContents>; 713 } 714 declare type ContextMenuContents = string | ContextMenuItem | SeparatorMenuItemSpec | ContextSubMenu; 715 interface ContextMenuApi { 716 update: (element: Element) => string | Array<ContextMenuContents>; 717 } 718 interface FancyActionArgsMap { 719 'inserttable': { 720 numRows: number; 721 numColumns: number; 722 }; 723 'colorswatch': { 724 value: string; 725 }; 726 } 727 interface BaseFancyMenuItemSpec<T extends keyof FancyActionArgsMap> { 728 type: 'fancymenuitem'; 729 fancytype: T; 730 initData?: Record<string, unknown>; 731 onAction?: (data: FancyActionArgsMap[T]) => void; 732 } 733 interface InsertTableMenuItemSpec extends BaseFancyMenuItemSpec<'inserttable'> { 734 fancytype: 'inserttable'; 735 initData?: {}; 736 } 737 interface ColorSwatchMenuItemSpec extends BaseFancyMenuItemSpec<'colorswatch'> { 738 fancytype: 'colorswatch'; 739 select?: (value: string) => boolean; 740 initData?: { 741 allowCustomColors?: boolean; 742 colors?: ChoiceMenuItemSpec[]; 743 storageKey?: string; 744 }; 745 } 746 declare type FancyMenuItemSpec = InsertTableMenuItemSpec | ColorSwatchMenuItemSpec; 747 interface MenuItemSpec extends CommonMenuItemSpec { 748 type?: 'menuitem'; 749 icon?: string; 750 onSetup?: (api: MenuItemInstanceApi) => (api: MenuItemInstanceApi) => void; 751 onAction?: (api: MenuItemInstanceApi) => void; 752 } 753 interface MenuItemInstanceApi extends CommonMenuItemInstanceApi { 754 } 755 interface SeparatorMenuItemSpec { 756 type?: 'separator'; 757 text?: string; 758 } 759 interface ToggleMenuItemSpec extends CommonMenuItemSpec { 760 type?: 'togglemenuitem'; 761 icon?: string; 762 active?: boolean; 763 onSetup?: (api: ToggleMenuItemInstanceApi) => void; 764 onAction: (api: ToggleMenuItemInstanceApi) => void; 765 } 766 interface ToggleMenuItemInstanceApi extends CommonMenuItemInstanceApi { 767 isActive: () => boolean; 768 setActive: (state: boolean) => void; 769 } 770 declare type NestedMenuItemContents = string | MenuItemSpec | NestedMenuItemSpec | ToggleMenuItemSpec | SeparatorMenuItemSpec | FancyMenuItemSpec; 771 interface NestedMenuItemSpec extends CommonMenuItemSpec { 772 type?: 'nestedmenuitem'; 773 icon?: string; 774 getSubmenuItems: () => string | Array<NestedMenuItemContents>; 775 onSetup?: (api: NestedMenuItemInstanceApi) => (api: NestedMenuItemInstanceApi) => void; 776 } 777 interface NestedMenuItemInstanceApi extends CommonMenuItemInstanceApi { 778 setIconFill: (id: string, value: string) => void; 779 } 780 declare type MenuButtonItemTypes = NestedMenuItemContents; 781 declare type SuccessCallback$1 = (menu: string | MenuButtonItemTypes[]) => void; 782 interface MenuButtonFetchContext { 783 pattern: string; 784 } 785 interface BaseMenuButtonSpec { 786 text?: string; 787 tooltip?: string; 788 icon?: string; 789 search?: boolean | { 790 placeholder?: string; 791 }; 792 fetch: (success: SuccessCallback$1, fetchContext: MenuButtonFetchContext, api: BaseMenuButtonInstanceApi) => void; 793 onSetup?: (api: BaseMenuButtonInstanceApi) => (api: BaseMenuButtonInstanceApi) => void; 794 } 795 interface BaseMenuButtonInstanceApi { 796 isEnabled: () => boolean; 797 setEnabled: (state: boolean) => void; 798 isActive: () => boolean; 799 setActive: (state: boolean) => void; 800 setText: (text: string) => void; 801 setIcon: (icon: string) => void; 802 } 803 interface ToolbarMenuButtonSpec extends BaseMenuButtonSpec { 804 type?: 'menubutton'; 805 onSetup?: (api: ToolbarMenuButtonInstanceApi) => (api: ToolbarMenuButtonInstanceApi) => void; 806 } 807 interface ToolbarMenuButtonInstanceApi extends BaseMenuButtonInstanceApi { 808 } 809 declare type ToolbarSplitButtonItemTypes = ChoiceMenuItemSpec | SeparatorMenuItemSpec; 810 declare type SuccessCallback = (menu: ToolbarSplitButtonItemTypes[]) => void; 811 declare type SelectPredicate = (value: string) => boolean; 812 declare type PresetTypes = 'color' | 'normal' | 'listpreview'; 813 declare type ColumnTypes$1 = number | 'auto'; 814 interface ToolbarSplitButtonSpec { 815 type?: 'splitbutton'; 816 tooltip?: string; 817 icon?: string; 818 text?: string; 819 select?: SelectPredicate; 820 presets?: PresetTypes; 821 columns?: ColumnTypes$1; 822 fetch: (success: SuccessCallback) => void; 823 onSetup?: (api: ToolbarSplitButtonInstanceApi) => (api: ToolbarSplitButtonInstanceApi) => void; 824 onAction: (api: ToolbarSplitButtonInstanceApi) => void; 825 onItemAction: (api: ToolbarSplitButtonInstanceApi, value: string) => void; 826 } 827 interface ToolbarSplitButtonInstanceApi { 828 isEnabled: () => boolean; 829 setEnabled: (state: boolean) => void; 830 setIconFill: (id: string, value: string) => void; 831 isActive: () => boolean; 832 setActive: (state: boolean) => void; 833 setText: (text: string) => void; 834 setIcon: (icon: string) => void; 835 } 836 interface BaseToolbarToggleButtonSpec<I extends BaseToolbarButtonInstanceApi> extends BaseToolbarButtonSpec<I> { 837 active?: boolean; 838 } 839 interface BaseToolbarToggleButtonInstanceApi extends BaseToolbarButtonInstanceApi { 840 isActive: () => boolean; 841 setActive: (state: boolean) => void; 842 } 843 interface ToolbarToggleButtonSpec extends BaseToolbarToggleButtonSpec<ToolbarToggleButtonInstanceApi> { 844 type?: 'togglebutton'; 845 onAction: (api: ToolbarToggleButtonInstanceApi) => void; 846 } 847 interface ToolbarToggleButtonInstanceApi extends BaseToolbarToggleButtonInstanceApi { 848 } 849 declare type Id = string; 850 interface TreeSpec { 851 type: 'tree'; 852 items: TreeItemSpec[]; 853 onLeafAction?: (id: Id) => void; 854 } 855 interface BaseTreeItemSpec { 856 title: string; 857 id: Id; 858 menu?: ToolbarMenuButtonSpec; 859 } 860 interface DirectorySpec extends BaseTreeItemSpec { 861 type: 'directory'; 862 children: TreeItemSpec[]; 863 } 864 interface LeafSpec extends BaseTreeItemSpec { 865 type: 'leaf'; 866 } 867 declare type TreeItemSpec = DirectorySpec | LeafSpec; 868 interface UrlInputSpec extends FormComponentWithLabelSpec { 869 type: 'urlinput'; 870 filetype?: 'image' | 'media' | 'file'; 871 enabled?: boolean; 872 } 873 interface UrlInputData { 874 value: string; 875 meta: { 876 text?: string; 877 }; 878 } 879 declare type BodyComponentSpec = BarSpec | ButtonSpec | CheckboxSpec | TextAreaSpec | InputSpec | ListBoxSpec | SelectBoxSpec | SizeInputSpec | SliderSpec | IframeSpec | HtmlPanelSpec | UrlInputSpec | DropZoneSpec | ColorInputSpec | GridSpec | ColorPickerSpec | ImagePreviewSpec | AlertBannerSpec | CollectionSpec | LabelSpec | TableSpec | TreeSpec | PanelSpec | CustomEditorSpec; 880 interface BarSpec { 881 type: 'bar'; 882 items: BodyComponentSpec[]; 883 } 884 interface DialogToggleMenuItemSpec extends CommonMenuItemSpec { 885 type?: 'togglemenuitem'; 886 name: string; 887 } 888 declare type DialogFooterMenuButtonItemSpec = DialogToggleMenuItemSpec; 889 interface BaseDialogFooterButtonSpec { 890 name?: string; 891 align?: 'start' | 'end'; 892 primary?: boolean; 893 enabled?: boolean; 894 icon?: string; 895 buttonType?: 'primary' | 'secondary'; 896 } 897 interface DialogFooterNormalButtonSpec extends BaseDialogFooterButtonSpec { 898 type: 'submit' | 'cancel' | 'custom'; 899 text: string; 900 } 901 interface DialogFooterMenuButtonSpec extends BaseDialogFooterButtonSpec { 902 type: 'menu'; 903 text?: string; 904 tooltip?: string; 905 icon?: string; 906 items: DialogFooterMenuButtonItemSpec[]; 907 } 908 interface DialogFooterToggleButtonSpec extends BaseDialogFooterButtonSpec { 909 type: 'togglebutton'; 910 tooltip?: string; 911 icon?: string; 912 text?: string; 913 active?: boolean; 914 } 915 declare type DialogFooterButtonSpec = DialogFooterNormalButtonSpec | DialogFooterMenuButtonSpec | DialogFooterToggleButtonSpec; 916 interface TabSpec { 917 name?: string; 918 title: string; 919 items: BodyComponentSpec[]; 920 } 921 interface TabPanelSpec { 922 type: 'tabpanel'; 923 tabs: TabSpec[]; 924 } 925 declare type DialogDataItem = any; 926 declare type DialogData = Record<string, DialogDataItem>; 927 interface DialogInstanceApi<T extends DialogData> { 928 getData: () => T; 929 setData: (data: Partial<T>) => void; 930 setEnabled: (name: string, state: boolean) => void; 931 focus: (name: string) => void; 932 showTab: (name: string) => void; 933 redial: (nu: DialogSpec<T>) => void; 934 block: (msg: string) => void; 935 unblock: () => void; 936 toggleFullscreen: () => void; 937 close: () => void; 938 } 939 interface DialogActionDetails { 940 name: string; 941 value?: any; 942 } 943 interface DialogChangeDetails<T> { 944 name: keyof T; 945 } 946 interface DialogTabChangeDetails { 947 newTabName: string; 948 oldTabName: string; 949 } 950 declare type DialogActionHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogActionDetails) => void; 951 declare type DialogChangeHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogChangeDetails<T>) => void; 952 declare type DialogSubmitHandler<T extends DialogData> = (api: DialogInstanceApi<T>) => void; 953 declare type DialogCloseHandler = () => void; 954 declare type DialogCancelHandler<T extends DialogData> = (api: DialogInstanceApi<T>) => void; 955 declare type DialogTabChangeHandler<T extends DialogData> = (api: DialogInstanceApi<T>, details: DialogTabChangeDetails) => void; 956 declare type DialogSize = 'normal' | 'medium' | 'large'; 957 interface DialogSpec<T extends DialogData> { 958 title: string; 959 size?: DialogSize; 960 body: TabPanelSpec | PanelSpec; 961 buttons: DialogFooterButtonSpec[]; 962 initialData?: Partial<T>; 963 onAction?: DialogActionHandler<T>; 964 onChange?: DialogChangeHandler<T>; 965 onSubmit?: DialogSubmitHandler<T>; 966 onClose?: DialogCloseHandler; 967 onCancel?: DialogCancelHandler<T>; 968 onTabChange?: DialogTabChangeHandler<T>; 969 } 970 interface UrlDialogInstanceApi { 971 block: (msg: string) => void; 972 unblock: () => void; 973 close: () => void; 974 sendMessage: (msg: any) => void; 975 } 976 interface UrlDialogActionDetails { 977 name: string; 978 value?: any; 979 } 980 interface UrlDialogMessage { 981 mceAction: string; 982 [key: string]: any; 983 } 984 declare type UrlDialogActionHandler = (api: UrlDialogInstanceApi, actions: UrlDialogActionDetails) => void; 985 declare type UrlDialogCloseHandler = () => void; 986 declare type UrlDialogCancelHandler = (api: UrlDialogInstanceApi) => void; 987 declare type UrlDialogMessageHandler = (api: UrlDialogInstanceApi, message: UrlDialogMessage) => void; 988 interface UrlDialogFooterButtonSpec extends DialogFooterNormalButtonSpec { 989 type: 'cancel' | 'custom'; 990 } 991 interface UrlDialogSpec { 992 title: string; 993 url: string; 994 height?: number; 995 width?: number; 996 buttons?: UrlDialogFooterButtonSpec[]; 997 onAction?: UrlDialogActionHandler; 998 onClose?: UrlDialogCloseHandler; 999 onCancel?: UrlDialogCancelHandler; 1000 onMessage?: UrlDialogMessageHandler; 1001 } 1002 declare type ColumnTypes = number | 'auto'; 1003 declare type SeparatorItemSpec = SeparatorMenuItemSpec; 1004 interface AutocompleterItemSpec { 1005 type?: 'autocompleteitem'; 1006 value: string; 1007 text?: string; 1008 icon?: string; 1009 meta?: Record<string, any>; 1010 } 1011 declare type AutocompleterContents = SeparatorItemSpec | AutocompleterItemSpec | CardMenuItemSpec; 1012 interface AutocompleterSpec { 1013 type?: 'autocompleter'; 1014 ch?: string; 1015 trigger?: string; 1016 minChars?: number; 1017 columns?: ColumnTypes; 1018 matches?: (rng: Range, text: string, pattern: string) => boolean; 1019 fetch: (pattern: string, maxResults: number, fetchOptions: Record<string, any>) => Promise<AutocompleterContents[]>; 1020 onAction: (autocompleterApi: AutocompleterInstanceApi, rng: Range, value: string, meta: Record<string, any>) => void; 1021 maxResults?: number; 1022 highlightOn?: string[]; 1023 } 1024 interface AutocompleterInstanceApi { 1025 hide: () => void; 1026 reload: (fetchOptions: Record<string, any>) => void; 1027 } 1028 declare type ContextPosition = 'node' | 'selection' | 'line'; 1029 declare type ContextScope = 'node' | 'editor'; 1030 interface ContextBarSpec { 1031 predicate?: (elem: Element) => boolean; 1032 position?: ContextPosition; 1033 scope?: ContextScope; 1034 } 1035 interface ContextFormLaunchButtonApi extends BaseToolbarButtonSpec<BaseToolbarButtonInstanceApi> { 1036 type: 'contextformbutton'; 1037 } 1038 interface ContextFormLaunchToggleButtonSpec extends BaseToolbarToggleButtonSpec<BaseToolbarToggleButtonInstanceApi> { 1039 type: 'contextformtogglebutton'; 1040 } 1041 interface ContextFormButtonInstanceApi extends BaseToolbarButtonInstanceApi { 1042 } 1043 interface ContextFormToggleButtonInstanceApi extends BaseToolbarToggleButtonInstanceApi { 1044 } 1045 interface ContextFormButtonSpec extends BaseToolbarButtonSpec<ContextFormButtonInstanceApi> { 1046 type?: 'contextformbutton'; 1047 primary?: boolean; 1048 onAction: (formApi: ContextFormInstanceApi, api: ContextFormButtonInstanceApi) => void; 1049 } 1050 interface ContextFormToggleButtonSpec extends BaseToolbarToggleButtonSpec<ContextFormToggleButtonInstanceApi> { 1051 type?: 'contextformtogglebutton'; 1052 onAction: (formApi: ContextFormInstanceApi, buttonApi: ContextFormToggleButtonInstanceApi) => void; 1053 primary?: boolean; 1054 } 1055 interface ContextFormInstanceApi { 1056 hide: () => void; 1057 getValue: () => string; 1058 } 1059 interface ContextFormSpec extends ContextBarSpec { 1060 type?: 'contextform'; 1061 initValue?: () => string; 1062 label?: string; 1063 launch?: ContextFormLaunchButtonApi | ContextFormLaunchToggleButtonSpec; 1064 commands: Array<ContextFormToggleButtonSpec | ContextFormButtonSpec>; 1065 } 1066 interface ContextToolbarSpec extends ContextBarSpec { 1067 type?: 'contexttoolbar'; 1068 items: string; 1069 } 1070 type PublicDialog_d_AlertBannerSpec = AlertBannerSpec; 1071 type PublicDialog_d_BarSpec = BarSpec; 1072 type PublicDialog_d_BodyComponentSpec = BodyComponentSpec; 1073 type PublicDialog_d_ButtonSpec = ButtonSpec; 1074 type PublicDialog_d_CheckboxSpec = CheckboxSpec; 1075 type PublicDialog_d_CollectionItem = CollectionItem; 1076 type PublicDialog_d_CollectionSpec = CollectionSpec; 1077 type PublicDialog_d_ColorInputSpec = ColorInputSpec; 1078 type PublicDialog_d_ColorPickerSpec = ColorPickerSpec; 1079 type PublicDialog_d_CustomEditorSpec = CustomEditorSpec; 1080 type PublicDialog_d_CustomEditorInit = CustomEditorInit; 1081 type PublicDialog_d_CustomEditorInitFn = CustomEditorInitFn; 1082 type PublicDialog_d_DialogData = DialogData; 1083 type PublicDialog_d_DialogSize = DialogSize; 1084 type PublicDialog_d_DialogSpec<T extends DialogData> = DialogSpec<T>; 1085 type PublicDialog_d_DialogInstanceApi<T extends DialogData> = DialogInstanceApi<T>; 1086 type PublicDialog_d_DialogFooterButtonSpec = DialogFooterButtonSpec; 1087 type PublicDialog_d_DialogActionDetails = DialogActionDetails; 1088 type PublicDialog_d_DialogChangeDetails<T> = DialogChangeDetails<T>; 1089 type PublicDialog_d_DialogTabChangeDetails = DialogTabChangeDetails; 1090 type PublicDialog_d_DropZoneSpec = DropZoneSpec; 1091 type PublicDialog_d_GridSpec = GridSpec; 1092 type PublicDialog_d_HtmlPanelSpec = HtmlPanelSpec; 1093 type PublicDialog_d_IframeSpec = IframeSpec; 1094 type PublicDialog_d_ImagePreviewSpec = ImagePreviewSpec; 1095 type PublicDialog_d_InputSpec = InputSpec; 1096 type PublicDialog_d_LabelSpec = LabelSpec; 1097 type PublicDialog_d_ListBoxSpec = ListBoxSpec; 1098 type PublicDialog_d_ListBoxItemSpec = ListBoxItemSpec; 1099 type PublicDialog_d_ListBoxNestedItemSpec = ListBoxNestedItemSpec; 1100 type PublicDialog_d_ListBoxSingleItemSpec = ListBoxSingleItemSpec; 1101 type PublicDialog_d_PanelSpec = PanelSpec; 1102 type PublicDialog_d_SelectBoxSpec = SelectBoxSpec; 1103 type PublicDialog_d_SelectBoxItemSpec = SelectBoxItemSpec; 1104 type PublicDialog_d_SizeInputSpec = SizeInputSpec; 1105 type PublicDialog_d_SliderSpec = SliderSpec; 1106 type PublicDialog_d_TableSpec = TableSpec; 1107 type PublicDialog_d_TabSpec = TabSpec; 1108 type PublicDialog_d_TabPanelSpec = TabPanelSpec; 1109 type PublicDialog_d_TextAreaSpec = TextAreaSpec; 1110 type PublicDialog_d_TreeSpec = TreeSpec; 1111 type PublicDialog_d_TreeItemSpec = TreeItemSpec; 1112 type PublicDialog_d_UrlInputData = UrlInputData; 1113 type PublicDialog_d_UrlInputSpec = UrlInputSpec; 1114 type PublicDialog_d_UrlDialogSpec = UrlDialogSpec; 1115 type PublicDialog_d_UrlDialogFooterButtonSpec = UrlDialogFooterButtonSpec; 1116 type PublicDialog_d_UrlDialogInstanceApi = UrlDialogInstanceApi; 1117 type PublicDialog_d_UrlDialogActionDetails = UrlDialogActionDetails; 1118 type PublicDialog_d_UrlDialogMessage = UrlDialogMessage; 1119 declare namespace PublicDialog_d { 1120 export { PublicDialog_d_AlertBannerSpec as AlertBannerSpec, PublicDialog_d_BarSpec as BarSpec, PublicDialog_d_BodyComponentSpec as BodyComponentSpec, PublicDialog_d_ButtonSpec as ButtonSpec, PublicDialog_d_CheckboxSpec as CheckboxSpec, PublicDialog_d_CollectionItem as CollectionItem, PublicDialog_d_CollectionSpec as CollectionSpec, PublicDialog_d_ColorInputSpec as ColorInputSpec, PublicDialog_d_ColorPickerSpec as ColorPickerSpec, PublicDialog_d_CustomEditorSpec as CustomEditorSpec, PublicDialog_d_CustomEditorInit as CustomEditorInit, PublicDialog_d_CustomEditorInitFn as CustomEditorInitFn, PublicDialog_d_DialogData as DialogData, PublicDialog_d_DialogSize as DialogSize, PublicDialog_d_DialogSpec as DialogSpec, PublicDialog_d_DialogInstanceApi as DialogInstanceApi, PublicDialog_d_DialogFooterButtonSpec as DialogFooterButtonSpec, PublicDialog_d_DialogActionDetails as DialogActionDetails, PublicDialog_d_DialogChangeDetails as DialogChangeDetails, PublicDialog_d_DialogTabChangeDetails as DialogTabChangeDetails, PublicDialog_d_DropZoneSpec as DropZoneSpec, PublicDialog_d_GridSpec as GridSpec, PublicDialog_d_HtmlPanelSpec as HtmlPanelSpec, PublicDialog_d_IframeSpec as IframeSpec, PublicDialog_d_ImagePreviewSpec as ImagePreviewSpec, PublicDialog_d_InputSpec as InputSpec, PublicDialog_d_LabelSpec as LabelSpec, PublicDialog_d_ListBoxSpec as ListBoxSpec, PublicDialog_d_ListBoxItemSpec as ListBoxItemSpec, PublicDialog_d_ListBoxNestedItemSpec as ListBoxNestedItemSpec, PublicDialog_d_ListBoxSingleItemSpec as ListBoxSingleItemSpec, PublicDialog_d_PanelSpec as PanelSpec, PublicDialog_d_SelectBoxSpec as SelectBoxSpec, PublicDialog_d_SelectBoxItemSpec as SelectBoxItemSpec, PublicDialog_d_SizeInputSpec as SizeInputSpec, PublicDialog_d_SliderSpec as SliderSpec, PublicDialog_d_TableSpec as TableSpec, PublicDialog_d_TabSpec as TabSpec, PublicDialog_d_TabPanelSpec as TabPanelSpec, PublicDialog_d_TextAreaSpec as TextAreaSpec, PublicDialog_d_TreeSpec as TreeSpec, PublicDialog_d_TreeItemSpec as TreeItemSpec, DirectorySpec as TreeDirectorySpec, LeafSpec as TreeLeafSpec, PublicDialog_d_UrlInputData as UrlInputData, PublicDialog_d_UrlInputSpec as UrlInputSpec, PublicDialog_d_UrlDialogSpec as UrlDialogSpec, PublicDialog_d_UrlDialogFooterButtonSpec as UrlDialogFooterButtonSpec, PublicDialog_d_UrlDialogInstanceApi as UrlDialogInstanceApi, PublicDialog_d_UrlDialogActionDetails as UrlDialogActionDetails, PublicDialog_d_UrlDialogMessage as UrlDialogMessage, }; 1121 } 1122 type PublicInlineContent_d_AutocompleterSpec = AutocompleterSpec; 1123 type PublicInlineContent_d_AutocompleterItemSpec = AutocompleterItemSpec; 1124 type PublicInlineContent_d_AutocompleterContents = AutocompleterContents; 1125 type PublicInlineContent_d_AutocompleterInstanceApi = AutocompleterInstanceApi; 1126 type PublicInlineContent_d_ContextPosition = ContextPosition; 1127 type PublicInlineContent_d_ContextScope = ContextScope; 1128 type PublicInlineContent_d_ContextFormSpec = ContextFormSpec; 1129 type PublicInlineContent_d_ContextFormInstanceApi = ContextFormInstanceApi; 1130 type PublicInlineContent_d_ContextFormButtonSpec = ContextFormButtonSpec; 1131 type PublicInlineContent_d_ContextFormButtonInstanceApi = ContextFormButtonInstanceApi; 1132 type PublicInlineContent_d_ContextFormToggleButtonSpec = ContextFormToggleButtonSpec; 1133 type PublicInlineContent_d_ContextFormToggleButtonInstanceApi = ContextFormToggleButtonInstanceApi; 1134 type PublicInlineContent_d_ContextToolbarSpec = ContextToolbarSpec; 1135 type PublicInlineContent_d_SeparatorItemSpec = SeparatorItemSpec; 1136 declare namespace PublicInlineContent_d { 1137 export { PublicInlineContent_d_AutocompleterSpec as AutocompleterSpec, PublicInlineContent_d_AutocompleterItemSpec as AutocompleterItemSpec, PublicInlineContent_d_AutocompleterContents as AutocompleterContents, PublicInlineContent_d_AutocompleterInstanceApi as AutocompleterInstanceApi, PublicInlineContent_d_ContextPosition as ContextPosition, PublicInlineContent_d_ContextScope as ContextScope, PublicInlineContent_d_ContextFormSpec as ContextFormSpec, PublicInlineContent_d_ContextFormInstanceApi as ContextFormInstanceApi, PublicInlineContent_d_ContextFormButtonSpec as ContextFormButtonSpec, PublicInlineContent_d_ContextFormButtonInstanceApi as ContextFormButtonInstanceApi, PublicInlineContent_d_ContextFormToggleButtonSpec as ContextFormToggleButtonSpec, PublicInlineContent_d_ContextFormToggleButtonInstanceApi as ContextFormToggleButtonInstanceApi, PublicInlineContent_d_ContextToolbarSpec as ContextToolbarSpec, PublicInlineContent_d_SeparatorItemSpec as SeparatorItemSpec, }; 1138 } 1139 type PublicMenu_d_MenuItemSpec = MenuItemSpec; 1140 type PublicMenu_d_MenuItemInstanceApi = MenuItemInstanceApi; 1141 type PublicMenu_d_NestedMenuItemContents = NestedMenuItemContents; 1142 type PublicMenu_d_NestedMenuItemSpec = NestedMenuItemSpec; 1143 type PublicMenu_d_NestedMenuItemInstanceApi = NestedMenuItemInstanceApi; 1144 type PublicMenu_d_FancyMenuItemSpec = FancyMenuItemSpec; 1145 type PublicMenu_d_ColorSwatchMenuItemSpec = ColorSwatchMenuItemSpec; 1146 type PublicMenu_d_InsertTableMenuItemSpec = InsertTableMenuItemSpec; 1147 type PublicMenu_d_ToggleMenuItemSpec = ToggleMenuItemSpec; 1148 type PublicMenu_d_ToggleMenuItemInstanceApi = ToggleMenuItemInstanceApi; 1149 type PublicMenu_d_ChoiceMenuItemSpec = ChoiceMenuItemSpec; 1150 type PublicMenu_d_ChoiceMenuItemInstanceApi = ChoiceMenuItemInstanceApi; 1151 type PublicMenu_d_SeparatorMenuItemSpec = SeparatorMenuItemSpec; 1152 type PublicMenu_d_ContextMenuApi = ContextMenuApi; 1153 type PublicMenu_d_ContextMenuContents = ContextMenuContents; 1154 type PublicMenu_d_ContextMenuItem = ContextMenuItem; 1155 type PublicMenu_d_ContextSubMenu = ContextSubMenu; 1156 type PublicMenu_d_CardMenuItemSpec = CardMenuItemSpec; 1157 type PublicMenu_d_CardMenuItemInstanceApi = CardMenuItemInstanceApi; 1158 type PublicMenu_d_CardItemSpec = CardItemSpec; 1159 type PublicMenu_d_CardContainerSpec = CardContainerSpec; 1160 type PublicMenu_d_CardImageSpec = CardImageSpec; 1161 type PublicMenu_d_CardTextSpec = CardTextSpec; 1162 declare namespace PublicMenu_d { 1163 export { PublicMenu_d_MenuItemSpec as MenuItemSpec, PublicMenu_d_MenuItemInstanceApi as MenuItemInstanceApi, PublicMenu_d_NestedMenuItemContents as NestedMenuItemContents, PublicMenu_d_NestedMenuItemSpec as NestedMenuItemSpec, PublicMenu_d_NestedMenuItemInstanceApi as NestedMenuItemInstanceApi, PublicMenu_d_FancyMenuItemSpec as FancyMenuItemSpec, PublicMenu_d_ColorSwatchMenuItemSpec as ColorSwatchMenuItemSpec, PublicMenu_d_InsertTableMenuItemSpec as InsertTableMenuItemSpec, PublicMenu_d_ToggleMenuItemSpec as ToggleMenuItemSpec, PublicMenu_d_ToggleMenuItemInstanceApi as ToggleMenuItemInstanceApi, PublicMenu_d_ChoiceMenuItemSpec as ChoiceMenuItemSpec, PublicMenu_d_ChoiceMenuItemInstanceApi as ChoiceMenuItemInstanceApi, PublicMenu_d_SeparatorMenuItemSpec as SeparatorMenuItemSpec, PublicMenu_d_ContextMenuApi as ContextMenuApi, PublicMenu_d_ContextMenuContents as ContextMenuContents, PublicMenu_d_ContextMenuItem as ContextMenuItem, PublicMenu_d_ContextSubMenu as ContextSubMenu, PublicMenu_d_CardMenuItemSpec as CardMenuItemSpec, PublicMenu_d_CardMenuItemInstanceApi as CardMenuItemInstanceApi, PublicMenu_d_CardItemSpec as CardItemSpec, PublicMenu_d_CardContainerSpec as CardContainerSpec, PublicMenu_d_CardImageSpec as CardImageSpec, PublicMenu_d_CardTextSpec as CardTextSpec, }; 1164 } 1165 interface SidebarInstanceApi { 1166 element: () => HTMLElement; 1167 } 1168 interface SidebarSpec { 1169 icon?: string; 1170 tooltip?: string; 1171 onShow?: (api: SidebarInstanceApi) => void; 1172 onSetup?: (api: SidebarInstanceApi) => (api: SidebarInstanceApi) => void; 1173 onHide?: (api: SidebarInstanceApi) => void; 1174 } 1175 type PublicSidebar_d_SidebarSpec = SidebarSpec; 1176 type PublicSidebar_d_SidebarInstanceApi = SidebarInstanceApi; 1177 declare namespace PublicSidebar_d { 1178 export { PublicSidebar_d_SidebarSpec as SidebarSpec, PublicSidebar_d_SidebarInstanceApi as SidebarInstanceApi, }; 1179 } 1180 type PublicToolbar_d_ToolbarButtonSpec = ToolbarButtonSpec; 1181 type PublicToolbar_d_ToolbarButtonInstanceApi = ToolbarButtonInstanceApi; 1182 type PublicToolbar_d_ToolbarSplitButtonSpec = ToolbarSplitButtonSpec; 1183 type PublicToolbar_d_ToolbarSplitButtonInstanceApi = ToolbarSplitButtonInstanceApi; 1184 type PublicToolbar_d_ToolbarMenuButtonSpec = ToolbarMenuButtonSpec; 1185 type PublicToolbar_d_ToolbarMenuButtonInstanceApi = ToolbarMenuButtonInstanceApi; 1186 type PublicToolbar_d_ToolbarToggleButtonSpec = ToolbarToggleButtonSpec; 1187 type PublicToolbar_d_ToolbarToggleButtonInstanceApi = ToolbarToggleButtonInstanceApi; 1188 type PublicToolbar_d_GroupToolbarButtonSpec = GroupToolbarButtonSpec; 1189 type PublicToolbar_d_GroupToolbarButtonInstanceApi = GroupToolbarButtonInstanceApi; 1190 declare namespace PublicToolbar_d { 1191 export { PublicToolbar_d_ToolbarButtonSpec as ToolbarButtonSpec, PublicToolbar_d_ToolbarButtonInstanceApi as ToolbarButtonInstanceApi, PublicToolbar_d_ToolbarSplitButtonSpec as ToolbarSplitButtonSpec, PublicToolbar_d_ToolbarSplitButtonInstanceApi as ToolbarSplitButtonInstanceApi, PublicToolbar_d_ToolbarMenuButtonSpec as ToolbarMenuButtonSpec, PublicToolbar_d_ToolbarMenuButtonInstanceApi as ToolbarMenuButtonInstanceApi, PublicToolbar_d_ToolbarToggleButtonSpec as ToolbarToggleButtonSpec, PublicToolbar_d_ToolbarToggleButtonInstanceApi as ToolbarToggleButtonInstanceApi, PublicToolbar_d_GroupToolbarButtonSpec as GroupToolbarButtonSpec, PublicToolbar_d_GroupToolbarButtonInstanceApi as GroupToolbarButtonInstanceApi, }; 1192 } 1193 interface ViewButtonApi { 1194 setIcon: (newIcon: string) => void; 1195 } 1196 interface ViewToggleButtonApi extends ViewButtonApi { 1197 isActive: () => boolean; 1198 setActive: (state: boolean) => void; 1199 } 1200 interface BaseButtonSpec<Api extends ViewButtonApi> { 1201 text?: string; 1202 icon?: string; 1203 tooltip?: string; 1204 buttonType?: 'primary' | 'secondary'; 1205 borderless?: boolean; 1206 onAction: (api: Api) => void; 1207 } 1208 interface ViewNormalButtonSpec extends BaseButtonSpec<ViewButtonApi> { 1209 text: string; 1210 type: 'button'; 1211 } 1212 interface ViewToggleButtonSpec extends BaseButtonSpec<ViewToggleButtonApi> { 1213 type: 'togglebutton'; 1214 active?: boolean; 1215 onAction: (api: ViewToggleButtonApi) => void; 1216 } 1217 interface ViewButtonsGroupSpec { 1218 type: 'group'; 1219 buttons: Array<ViewNormalButtonSpec | ViewToggleButtonSpec>; 1220 } 1221 declare type ViewButtonSpec = ViewNormalButtonSpec | ViewToggleButtonSpec | ViewButtonsGroupSpec; 1222 interface ViewInstanceApi { 1223 getContainer: () => HTMLElement; 1224 } 1225 interface ViewSpec { 1226 buttons?: ViewButtonSpec[]; 1227 onShow: (api: ViewInstanceApi) => void; 1228 onHide: (api: ViewInstanceApi) => void; 1229 } 1230 type PublicView_d_ViewSpec = ViewSpec; 1231 type PublicView_d_ViewInstanceApi = ViewInstanceApi; 1232 declare namespace PublicView_d { 1233 export { PublicView_d_ViewSpec as ViewSpec, PublicView_d_ViewInstanceApi as ViewInstanceApi, }; 1234 } 1235 interface Registry$1 { 1236 addButton: (name: string, spec: ToolbarButtonSpec) => void; 1237 addGroupToolbarButton: (name: string, spec: GroupToolbarButtonSpec) => void; 1238 addToggleButton: (name: string, spec: ToolbarToggleButtonSpec) => void; 1239 addMenuButton: (name: string, spec: ToolbarMenuButtonSpec) => void; 1240 addSplitButton: (name: string, spec: ToolbarSplitButtonSpec) => void; 1241 addMenuItem: (name: string, spec: MenuItemSpec) => void; 1242 addNestedMenuItem: (name: string, spec: NestedMenuItemSpec) => void; 1243 addToggleMenuItem: (name: string, spec: ToggleMenuItemSpec) => void; 1244 addContextMenu: (name: string, spec: ContextMenuApi) => void; 1245 addContextToolbar: (name: string, spec: ContextToolbarSpec) => void; 1246 addContextForm: (name: string, spec: ContextFormSpec) => void; 1247 addIcon: (name: string, svgData: string) => void; 1248 addAutocompleter: (name: string, spec: AutocompleterSpec) => void; 1249 addSidebar: (name: string, spec: SidebarSpec) => void; 1250 addView: (name: string, spec: ViewSpec) => void; 1251 getAll: () => { 1252 buttons: Record<string, ToolbarButtonSpec | GroupToolbarButtonSpec | ToolbarMenuButtonSpec | ToolbarSplitButtonSpec | ToolbarToggleButtonSpec>; 1253 menuItems: Record<string, MenuItemSpec | NestedMenuItemSpec | ToggleMenuItemSpec>; 1254 popups: Record<string, AutocompleterSpec>; 1255 contextMenus: Record<string, ContextMenuApi>; 1256 contextToolbars: Record<string, ContextToolbarSpec | ContextFormSpec>; 1257 icons: Record<string, string>; 1258 sidebars: Record<string, SidebarSpec>; 1259 views: Record<string, ViewSpec>; 1260 }; 1261 } 1262 interface AutocompleteLookupData { 1263 readonly matchText: string; 1264 readonly items: AutocompleterContents[]; 1265 readonly columns: ColumnTypes; 1266 readonly onAction: (autoApi: AutocompleterInstanceApi, rng: Range, value: string, meta: Record<string, any>) => void; 1267 readonly highlightOn: string[]; 1268 } 1269 interface AutocompleterEventArgs { 1270 readonly lookupData: AutocompleteLookupData[]; 1271 } 1272 interface RangeLikeObject { 1273 startContainer: Node; 1274 startOffset: number; 1275 endContainer: Node; 1276 endOffset: number; 1277 } 1278 declare type ApplyFormat = BlockFormat | InlineFormat | SelectorFormat; 1279 declare type RemoveFormat = RemoveBlockFormat | RemoveInlineFormat | RemoveSelectorFormat; 1280 declare type Format = ApplyFormat | RemoveFormat; 1281 declare type Formats = Record<string, Format | Format[]>; 1282 declare type FormatAttrOrStyleValue = string | ((vars?: FormatVars) => string | null); 1283 declare type FormatVars = Record<string, string | null>; 1284 interface BaseFormat<T> { 1285 ceFalseOverride?: boolean; 1286 classes?: string | string[]; 1287 collapsed?: boolean; 1288 exact?: boolean; 1289 expand?: boolean; 1290 links?: boolean; 1291 mixed?: boolean; 1292 block_expand?: boolean; 1293 onmatch?: (node: Element, fmt: T, itemName: string) => boolean; 1294 remove?: 'none' | 'empty' | 'all'; 1295 remove_similar?: boolean; 1296 split?: boolean; 1297 deep?: boolean; 1298 preserve_attributes?: string[]; 1299 } 1300 interface Block { 1301 block: string; 1302 list_block?: string; 1303 wrapper?: boolean; 1304 } 1305 interface Inline { 1306 inline: string; 1307 } 1308 interface Selector { 1309 selector: string; 1310 inherit?: boolean; 1311 } 1312 interface CommonFormat<T> extends BaseFormat<T> { 1313 attributes?: Record<string, FormatAttrOrStyleValue>; 1314 styles?: Record<string, FormatAttrOrStyleValue>; 1315 toggle?: boolean; 1316 preview?: string | false; 1317 onformat?: (elm: Element, fmt: T, vars?: FormatVars, node?: Node | RangeLikeObject | null) => void; 1318 clear_child_styles?: boolean; 1319 merge_siblings?: boolean; 1320 merge_with_parents?: boolean; 1321 } 1322 interface BlockFormat extends Block, CommonFormat<BlockFormat> { 1323 } 1324 interface InlineFormat extends Inline, CommonFormat<InlineFormat> { 1325 } 1326 interface SelectorFormat extends Selector, CommonFormat<SelectorFormat> { 1327 } 1328 interface CommonRemoveFormat<T> extends BaseFormat<T> { 1329 attributes?: string[] | Record<string, FormatAttrOrStyleValue>; 1330 styles?: string[] | Record<string, FormatAttrOrStyleValue>; 1331 } 1332 interface RemoveBlockFormat extends Block, CommonRemoveFormat<RemoveBlockFormat> { 1333 } 1334 interface RemoveInlineFormat extends Inline, CommonRemoveFormat<RemoveInlineFormat> { 1335 } 1336 interface RemoveSelectorFormat extends Selector, CommonRemoveFormat<RemoveSelectorFormat> { 1337 } 1338 interface Filter<C extends Function> { 1339 name: string; 1340 callbacks: C[]; 1341 } 1342 interface ParserArgs { 1343 getInner?: boolean | number; 1344 forced_root_block?: boolean | string; 1345 context?: string; 1346 isRootContent?: boolean; 1347 format?: string; 1348 invalid?: boolean; 1349 no_events?: boolean; 1350 [key: string]: any; 1351 } 1352 declare type ParserFilterCallback = (nodes: AstNode[], name: string, args: ParserArgs) => void; 1353 interface ParserFilter extends Filter<ParserFilterCallback> { 1354 } 1355 interface DomParserSettings { 1356 allow_html_data_urls?: boolean; 1357 allow_svg_data_urls?: boolean; 1358 allow_conditional_comments?: boolean; 1359 allow_html_in_named_anchor?: boolean; 1360 allow_script_urls?: boolean; 1361 allow_unsafe_link_target?: boolean; 1362 blob_cache?: BlobCache; 1363 convert_fonts_to_spans?: boolean; 1364 document?: Document; 1365 fix_list_elements?: boolean; 1366 font_size_legacy_values?: string; 1367 forced_root_block?: boolean | string; 1368 forced_root_block_attrs?: Record<string, string>; 1369 inline_styles?: boolean; 1370 preserve_cdata?: boolean; 1371 remove_trailing_brs?: boolean; 1372 root_name?: string; 1373 sanitize?: boolean; 1374 validate?: boolean; 1375 } 1376 interface DomParser { 1377 schema: Schema; 1378 addAttributeFilter: (name: string, callback: ParserFilterCallback) => void; 1379 getAttributeFilters: () => ParserFilter[]; 1380 removeAttributeFilter: (name: string, callback?: ParserFilterCallback) => void; 1381 addNodeFilter: (name: string, callback: ParserFilterCallback) => void; 1382 getNodeFilters: () => ParserFilter[]; 1383 removeNodeFilter: (name: string, callback?: ParserFilterCallback) => void; 1384 parse: (html: string, args?: ParserArgs) => AstNode; 1385 } 1386 interface StyleSheetLoaderSettings { 1387 maxLoadTime?: number; 1388 contentCssCors?: boolean; 1389 referrerPolicy?: ReferrerPolicy; 1390 } 1391 interface StyleSheetLoader { 1392 load: (url: string) => Promise<void>; 1393 loadAll: (urls: string[]) => Promise<string[]>; 1394 unload: (url: string) => void; 1395 unloadAll: (urls: string[]) => void; 1396 _setReferrerPolicy: (referrerPolicy: ReferrerPolicy) => void; 1397 _setContentCssCors: (contentCssCors: boolean) => void; 1398 } 1399 declare type Registry = Registry$1; 1400 interface EditorUiApi { 1401 show: () => void; 1402 hide: () => void; 1403 setEnabled: (state: boolean) => void; 1404 isEnabled: () => boolean; 1405 } 1406 interface EditorUi extends EditorUiApi { 1407 registry: Registry; 1408 styleSheetLoader: StyleSheetLoader; 1409 } 1410 type Ui_d_Registry = Registry; 1411 type Ui_d_EditorUiApi = EditorUiApi; 1412 type Ui_d_EditorUi = EditorUi; 1413 declare namespace Ui_d { 1414 export { Ui_d_Registry as Registry, PublicDialog_d as Dialog, PublicInlineContent_d as InlineContent, PublicMenu_d as Menu, PublicView_d as View, PublicSidebar_d as Sidebar, PublicToolbar_d as Toolbar, Ui_d_EditorUiApi as EditorUiApi, Ui_d_EditorUi as EditorUi, }; 1415 } 1416 interface WindowParams { 1417 readonly inline?: 'cursor' | 'toolbar'; 1418 readonly ariaAttrs?: boolean; 1419 } 1420 declare type InstanceApi<T extends DialogData> = UrlDialogInstanceApi | DialogInstanceApi<T>; 1421 interface WindowManagerImpl { 1422 open: <T extends DialogData>(config: DialogSpec<T>, params: WindowParams | undefined, closeWindow: (dialog: DialogInstanceApi<T>) => void) => DialogInstanceApi<T>; 1423 openUrl: (config: UrlDialogSpec, closeWindow: (dialog: UrlDialogInstanceApi) => void) => UrlDialogInstanceApi; 1424 alert: (message: string, callback: () => void) => void; 1425 confirm: (message: string, callback: (state: boolean) => void) => void; 1426 close: (dialog: InstanceApi<any>) => void; 1427 } 1428 interface WindowManager { 1429 open: <T extends DialogData>(config: DialogSpec<T>, params?: WindowParams) => DialogInstanceApi<T>; 1430 openUrl: (config: UrlDialogSpec) => UrlDialogInstanceApi; 1431 alert: (message: string, callback?: () => void, scope?: any) => void; 1432 confirm: (message: string, callback?: (state: boolean) => void, scope?: any) => void; 1433 close: () => void; 1434 } 1435 interface ExecCommandEvent { 1436 command: string; 1437 ui: boolean; 1438 value?: any; 1439 } 1440 interface BeforeGetContentEvent extends GetContentArgs { 1441 selection?: boolean; 1442 } 1443 interface GetContentEvent extends BeforeGetContentEvent { 1444 content: string; 1445 } 1446 interface BeforeSetContentEvent extends SetContentArgs { 1447 content: string; 1448 selection?: boolean; 1449 } 1450 interface SetContentEvent extends BeforeSetContentEvent { 1451 content: string; 1452 } 1453 interface SaveContentEvent extends GetContentEvent { 1454 save: boolean; 1455 } 1456 interface NewBlockEvent { 1457 newBlock: Element; 1458 } 1459 interface NodeChangeEvent { 1460 element: Element; 1461 parents: Node[]; 1462 selectionChange?: boolean; 1463 initial?: boolean; 1464 } 1465 interface FormatEvent { 1466 format: string; 1467 vars?: FormatVars; 1468 node?: Node | RangeLikeObject | null; 1469 } 1470 interface ObjectResizeEvent { 1471 target: HTMLElement; 1472 width: number; 1473 height: number; 1474 origin: string; 1475 } 1476 interface ObjectSelectedEvent { 1477 target: Node; 1478 targetClone?: Node; 1479 } 1480 interface ScrollIntoViewEvent { 1481 elm: HTMLElement; 1482 alignToTop: boolean | undefined; 1483 } 1484 interface SetSelectionRangeEvent { 1485 range: Range; 1486 forward: boolean | undefined; 1487 } 1488 interface ShowCaretEvent { 1489 target: Node; 1490 direction: number; 1491 before: boolean; 1492 } 1493 interface SwitchModeEvent { 1494 mode: string; 1495 } 1496 interface ChangeEvent { 1497 level: UndoLevel; 1498 lastLevel: UndoLevel | undefined; 1499 } 1500 interface AddUndoEvent extends ChangeEvent { 1501 originalEvent: Event | undefined; 1502 } 1503 interface UndoRedoEvent { 1504 level: UndoLevel; 1505 } 1506 interface WindowEvent<T extends DialogData> { 1507 dialog: InstanceApi<T>; 1508 } 1509 interface ProgressStateEvent { 1510 state: boolean; 1511 time?: number; 1512 } 1513 interface AfterProgressStateEvent { 1514 state: boolean; 1515 } 1516 interface PlaceholderToggleEvent { 1517 state: boolean; 1518 } 1519 interface LoadErrorEvent { 1520 message: string; 1521 } 1522 interface PreProcessEvent extends ParserArgs { 1523 node: Element; 1524 } 1525 interface PostProcessEvent extends ParserArgs { 1526 content: string; 1527 } 1528 interface PastePlainTextToggleEvent { 1529 state: boolean; 1530 } 1531 interface PastePreProcessEvent { 1532 content: string; 1533 readonly internal: boolean; 1534 } 1535 interface PastePostProcessEvent { 1536 node: HTMLElement; 1537 readonly internal: boolean; 1538 } 1539 interface NewTableRowEvent { 1540 node: HTMLTableRowElement; 1541 } 1542 interface NewTableCellEvent { 1543 node: HTMLTableCellElement; 1544 } 1545 interface TableEventData { 1546 readonly structure: boolean; 1547 readonly style: boolean; 1548 } 1549 interface TableModifiedEvent extends TableEventData { 1550 readonly table: HTMLTableElement; 1551 } 1552 interface BeforeOpenNotificationEvent { 1553 notification: NotificationSpec; 1554 } 1555 interface OpenNotificationEvent { 1556 notification: NotificationApi; 1557 } 1558 interface EditorEventMap extends Omit<NativeEventMap, 'blur' | 'focus'> { 1559 'activate': { 1560 relatedTarget: Editor | null; 1561 }; 1562 'deactivate': { 1563 relatedTarget: Editor; 1564 }; 1565 'focus': { 1566 blurredEditor: Editor | null; 1567 }; 1568 'blur': { 1569 focusedEditor: Editor | null; 1570 }; 1571 'resize': UIEvent; 1572 'scroll': UIEvent; 1573 'detach': {}; 1574 'remove': {}; 1575 'init': {}; 1576 'ScrollIntoView': ScrollIntoViewEvent; 1577 'AfterScrollIntoView': ScrollIntoViewEvent; 1578 'ObjectResized': ObjectResizeEvent; 1579 'ObjectResizeStart': ObjectResizeEvent; 1580 'SwitchMode': SwitchModeEvent; 1581 'ScrollWindow': Event; 1582 'ResizeWindow': UIEvent; 1583 'SkinLoaded': {}; 1584 'SkinLoadError': LoadErrorEvent; 1585 'PluginLoadError': LoadErrorEvent; 1586 'ModelLoadError': LoadErrorEvent; 1587 'IconsLoadError': LoadErrorEvent; 1588 'ThemeLoadError': LoadErrorEvent; 1589 'LanguageLoadError': LoadErrorEvent; 1590 'BeforeExecCommand': ExecCommandEvent; 1591 'ExecCommand': ExecCommandEvent; 1592 'NodeChange': NodeChangeEvent; 1593 'FormatApply': FormatEvent; 1594 'FormatRemove': FormatEvent; 1595 'ShowCaret': ShowCaretEvent; 1596 'SelectionChange': {}; 1597 'ObjectSelected': ObjectSelectedEvent; 1598 'BeforeObjectSelected': ObjectSelectedEvent; 1599 'GetSelectionRange': { 1600 range: Range; 1601 }; 1602 'SetSelectionRange': SetSelectionRangeEvent; 1603 'AfterSetSelectionRange': SetSelectionRangeEvent; 1604 'BeforeGetContent': BeforeGetContentEvent; 1605 'GetContent': GetContentEvent; 1606 'BeforeSetContent': BeforeSetContentEvent; 1607 'SetContent': SetContentEvent; 1608 'SaveContent': SaveContentEvent; 1609 'RawSaveContent': SaveContentEvent; 1610 'LoadContent': { 1611 load: boolean; 1612 element: HTMLElement; 1613 }; 1614 'PreviewFormats': {}; 1615 'AfterPreviewFormats': {}; 1616 'ScriptsLoaded': {}; 1617 'PreInit': {}; 1618 'PostRender': {}; 1619 'NewBlock': NewBlockEvent; 1620 'ClearUndos': {}; 1621 'TypingUndo': {}; 1622 'Redo': UndoRedoEvent; 1623 'Undo': UndoRedoEvent; 1624 'BeforeAddUndo': AddUndoEvent; 1625 'AddUndo': AddUndoEvent; 1626 'change': ChangeEvent; 1627 'CloseWindow': WindowEvent<any>; 1628 'OpenWindow': WindowEvent<any>; 1629 'ProgressState': ProgressStateEvent; 1630 'AfterProgressState': AfterProgressStateEvent; 1631 'PlaceholderToggle': PlaceholderToggleEvent; 1632 'tap': TouchEvent; 1633 'longpress': TouchEvent; 1634 'longpresscancel': {}; 1635 'PreProcess': PreProcessEvent; 1636 'PostProcess': PostProcessEvent; 1637 'AutocompleterStart': AutocompleterEventArgs; 1638 'AutocompleterUpdate': AutocompleterEventArgs; 1639 'AutocompleterEnd': {}; 1640 'PastePlainTextToggle': PastePlainTextToggleEvent; 1641 'PastePreProcess': PastePreProcessEvent; 1642 'PastePostProcess': PastePostProcessEvent; 1643 'TableModified': TableModifiedEvent; 1644 'NewRow': NewTableRowEvent; 1645 'NewCell': NewTableCellEvent; 1646 'SetAttrib': SetAttribEvent; 1647 'hide': {}; 1648 'show': {}; 1649 'dirty': {}; 1650 'BeforeOpenNotification': BeforeOpenNotificationEvent; 1651 'OpenNotification': OpenNotificationEvent; 1652 } 1653 interface EditorManagerEventMap { 1654 'AddEditor': { 1655 editor: Editor; 1656 }; 1657 'RemoveEditor': { 1658 editor: Editor; 1659 }; 1660 'BeforeUnload': { 1661 returnValue: any; 1662 }; 1663 } 1664 type EventTypes_d_ExecCommandEvent = ExecCommandEvent; 1665 type EventTypes_d_BeforeGetContentEvent = BeforeGetContentEvent; 1666 type EventTypes_d_GetContentEvent = GetContentEvent; 1667 type EventTypes_d_BeforeSetContentEvent = BeforeSetContentEvent; 1668 type EventTypes_d_SetContentEvent = SetContentEvent; 1669 type EventTypes_d_SaveContentEvent = SaveContentEvent; 1670 type EventTypes_d_NewBlockEvent = NewBlockEvent; 1671 type EventTypes_d_NodeChangeEvent = NodeChangeEvent; 1672 type EventTypes_d_FormatEvent = FormatEvent; 1673 type EventTypes_d_ObjectResizeEvent = ObjectResizeEvent; 1674 type EventTypes_d_ObjectSelectedEvent = ObjectSelectedEvent; 1675 type EventTypes_d_ScrollIntoViewEvent = ScrollIntoViewEvent; 1676 type EventTypes_d_SetSelectionRangeEvent = SetSelectionRangeEvent; 1677 type EventTypes_d_ShowCaretEvent = ShowCaretEvent; 1678 type EventTypes_d_SwitchModeEvent = SwitchModeEvent; 1679 type EventTypes_d_ChangeEvent = ChangeEvent; 1680 type EventTypes_d_AddUndoEvent = AddUndoEvent; 1681 type EventTypes_d_UndoRedoEvent = UndoRedoEvent; 1682 type EventTypes_d_WindowEvent<T extends DialogData> = WindowEvent<T>; 1683 type EventTypes_d_ProgressStateEvent = ProgressStateEvent; 1684 type EventTypes_d_AfterProgressStateEvent = AfterProgressStateEvent; 1685 type EventTypes_d_PlaceholderToggleEvent = PlaceholderToggleEvent; 1686 type EventTypes_d_LoadErrorEvent = LoadErrorEvent; 1687 type EventTypes_d_PreProcessEvent = PreProcessEvent; 1688 type EventTypes_d_PostProcessEvent = PostProcessEvent; 1689 type EventTypes_d_PastePlainTextToggleEvent = PastePlainTextToggleEvent; 1690 type EventTypes_d_PastePreProcessEvent = PastePreProcessEvent; 1691 type EventTypes_d_PastePostProcessEvent = PastePostProcessEvent; 1692 type EventTypes_d_NewTableRowEvent = NewTableRowEvent; 1693 type EventTypes_d_NewTableCellEvent = NewTableCellEvent; 1694 type EventTypes_d_TableEventData = TableEventData; 1695 type EventTypes_d_TableModifiedEvent = TableModifiedEvent; 1696 type EventTypes_d_BeforeOpenNotificationEvent = BeforeOpenNotificationEvent; 1697 type EventTypes_d_OpenNotificationEvent = OpenNotificationEvent; 1698 type EventTypes_d_EditorEventMap = EditorEventMap; 1699 type EventTypes_d_EditorManagerEventMap = EditorManagerEventMap; 1700 declare namespace EventTypes_d { 1701 export { EventTypes_d_ExecCommandEvent as ExecCommandEvent, EventTypes_d_BeforeGetContentEvent as BeforeGetContentEvent, EventTypes_d_GetContentEvent as GetContentEvent, EventTypes_d_BeforeSetContentEvent as BeforeSetContentEvent, EventTypes_d_SetContentEvent as SetContentEvent, EventTypes_d_SaveContentEvent as SaveContentEvent, EventTypes_d_NewBlockEvent as NewBlockEvent, EventTypes_d_NodeChangeEvent as NodeChangeEvent, EventTypes_d_FormatEvent as FormatEvent, EventTypes_d_ObjectResizeEvent as ObjectResizeEvent, EventTypes_d_ObjectSelectedEvent as ObjectSelectedEvent, EventTypes_d_ScrollIntoViewEvent as ScrollIntoViewEvent, EventTypes_d_SetSelectionRangeEvent as SetSelectionRangeEvent, EventTypes_d_ShowCaretEvent as ShowCaretEvent, EventTypes_d_SwitchModeEvent as SwitchModeEvent, EventTypes_d_ChangeEvent as ChangeEvent, EventTypes_d_AddUndoEvent as AddUndoEvent, EventTypes_d_UndoRedoEvent as UndoRedoEvent, EventTypes_d_WindowEvent as WindowEvent, EventTypes_d_ProgressStateEvent as ProgressStateEvent, EventTypes_d_AfterProgressStateEvent as AfterProgressStateEvent, EventTypes_d_PlaceholderToggleEvent as PlaceholderToggleEvent, EventTypes_d_LoadErrorEvent as LoadErrorEvent, EventTypes_d_PreProcessEvent as PreProcessEvent, EventTypes_d_PostProcessEvent as PostProcessEvent, EventTypes_d_PastePlainTextToggleEvent as PastePlainTextToggleEvent, EventTypes_d_PastePreProcessEvent as PastePreProcessEvent, EventTypes_d_PastePostProcessEvent as PastePostProcessEvent, EventTypes_d_NewTableRowEvent as NewTableRowEvent, EventTypes_d_NewTableCellEvent as NewTableCellEvent, EventTypes_d_TableEventData as TableEventData, EventTypes_d_TableModifiedEvent as TableModifiedEvent, EventTypes_d_BeforeOpenNotificationEvent as BeforeOpenNotificationEvent, EventTypes_d_OpenNotificationEvent as OpenNotificationEvent, EventTypes_d_EditorEventMap as EditorEventMap, EventTypes_d_EditorManagerEventMap as EditorManagerEventMap, }; 1702 } 1703 type Format_d_Formats = Formats; 1704 type Format_d_Format = Format; 1705 type Format_d_ApplyFormat = ApplyFormat; 1706 type Format_d_BlockFormat = BlockFormat; 1707 type Format_d_InlineFormat = InlineFormat; 1708 type Format_d_SelectorFormat = SelectorFormat; 1709 type Format_d_RemoveFormat = RemoveFormat; 1710 type Format_d_RemoveBlockFormat = RemoveBlockFormat; 1711 type Format_d_RemoveInlineFormat = RemoveInlineFormat; 1712 type Format_d_RemoveSelectorFormat = RemoveSelectorFormat; 1713 declare namespace Format_d { 1714 export { Format_d_Formats as Formats, Format_d_Format as Format, Format_d_ApplyFormat as ApplyFormat, Format_d_BlockFormat as BlockFormat, Format_d_InlineFormat as InlineFormat, Format_d_SelectorFormat as SelectorFormat, Format_d_RemoveFormat as RemoveFormat, Format_d_RemoveBlockFormat as RemoveBlockFormat, Format_d_RemoveInlineFormat as RemoveInlineFormat, Format_d_RemoveSelectorFormat as RemoveSelectorFormat, }; 1715 } 1716 declare type StyleFormat = BlockStyleFormat | InlineStyleFormat | SelectorStyleFormat; 1717 declare type AllowedFormat = Separator | FormatReference | StyleFormat | NestedFormatting; 1718 interface Separator { 1719 title: string; 1720 } 1721 interface FormatReference { 1722 title: string; 1723 format: string; 1724 icon?: string; 1725 } 1726 interface NestedFormatting { 1727 title: string; 1728 items: Array<FormatReference | StyleFormat>; 1729 } 1730 interface CommonStyleFormat { 1731 name?: string; 1732 title: string; 1733 icon?: string; 1734 } 1735 interface BlockStyleFormat extends BlockFormat, CommonStyleFormat { 1736 } 1737 interface InlineStyleFormat extends InlineFormat, CommonStyleFormat { 1738 } 1739 interface SelectorStyleFormat extends SelectorFormat, CommonStyleFormat { 1740 } 1741 declare type EntityEncoding = 'named' | 'numeric' | 'raw' | 'named,numeric' | 'named+numeric' | 'numeric,named' | 'numeric+named'; 1742 interface ContentLanguage { 1743 readonly title: string; 1744 readonly code: string; 1745 readonly customCode?: string; 1746 } 1747 declare type ThemeInitFunc = (editor: Editor, elm: HTMLElement) => { 1748 editorContainer: HTMLElement; 1749 iframeContainer: HTMLElement; 1750 height?: number; 1751 iframeHeight?: number; 1752 api?: EditorUiApi; 1753 }; 1754 declare type SetupCallback = (editor: Editor) => void; 1755 declare type FilePickerCallback = (callback: (value: string, meta?: Record<string, any>) => void, value: string, meta: Record<string, any>) => void; 1756 declare type FilePickerValidationStatus = 'valid' | 'unknown' | 'invalid' | 'none'; 1757 declare type FilePickerValidationCallback = (info: { 1758 type: string; 1759 url: string; 1760 }, callback: (validation: { 1761 status: FilePickerValidationStatus; 1762 message: string; 1763 }) => void) => void; 1764 declare type PastePreProcessFn = (editor: Editor, args: PastePreProcessEvent) => void; 1765 declare type PastePostProcessFn = (editor: Editor, args: PastePostProcessEvent) => void; 1766 declare type URLConverter = (url: string, name: string, elm?: string | Element) => string; 1767 declare type URLConverterCallback = (url: string, node: Node | string | undefined, on_save: boolean, name: string) => string; 1768 interface ToolbarGroup { 1769 name?: string; 1770 items: string[]; 1771 } 1772 declare type ToolbarMode = 'floating' | 'sliding' | 'scrolling' | 'wrap'; 1773 declare type ToolbarLocation = 'top' | 'bottom' | 'auto'; 1774 interface BaseEditorOptions { 1775 a11y_advanced_options?: boolean; 1776 add_form_submit_trigger?: boolean; 1777 add_unload_trigger?: boolean; 1778 allow_conditional_comments?: boolean; 1779 allow_html_data_urls?: boolean; 1780 allow_html_in_named_anchor?: boolean; 1781 allow_script_urls?: boolean; 1782 allow_svg_data_urls?: boolean; 1783 allow_unsafe_link_target?: boolean; 1784 anchor_bottom?: false | string; 1785 anchor_top?: false | string; 1786 auto_focus?: string | true; 1787 automatic_uploads?: boolean; 1788 base_url?: string; 1789 block_formats?: string; 1790 block_unsupported_drop?: boolean; 1791 body_id?: string; 1792 body_class?: string; 1793 br_in_pre?: boolean; 1794 br_newline_selector?: string; 1795 browser_spellcheck?: boolean; 1796 branding?: boolean; 1797 cache_suffix?: string; 1798 color_cols?: number; 1799 color_cols_foreground?: number; 1800 color_cols_background?: number; 1801 color_map?: string[]; 1802 color_map_foreground?: string[]; 1803 color_map_background?: string[]; 1804 color_default_foreground?: string; 1805 color_default_background?: string; 1806 content_css?: boolean | string | string[]; 1807 content_css_cors?: boolean; 1808 content_security_policy?: string; 1809 content_style?: string; 1810 content_langs?: ContentLanguage[]; 1811 contextmenu?: string | string[] | false; 1812 contextmenu_never_use_native?: boolean; 1813 convert_fonts_to_spans?: boolean; 1814 convert_urls?: boolean; 1815 custom_colors?: boolean; 1816 custom_elements?: string; 1817 custom_ui_selector?: string; 1818 custom_undo_redo_levels?: number; 1819 deprecation_warnings?: boolean; 1820 directionality?: 'ltr' | 'rtl'; 1821 doctype?: string; 1822 document_base_url?: string; 1823 draggable_modal?: boolean; 1824 editable_class?: string; 1825 element_format?: 'xhtml' | 'html'; 1826 elementpath?: boolean; 1827 encoding?: string; 1828 end_container_on_empty_block?: boolean | string; 1829 entities?: string; 1830 entity_encoding?: EntityEncoding; 1831 extended_valid_elements?: string; 1832 event_root?: string; 1833 file_picker_callback?: FilePickerCallback; 1834 file_picker_types?: string; 1835 file_picker_validator_handler?: FilePickerValidationCallback; 1836 fix_list_elements?: boolean; 1837 fixed_toolbar_container?: string; 1838 fixed_toolbar_container_target?: HTMLElement; 1839 font_css?: string | string[]; 1840 font_family_formats?: string; 1841 font_size_classes?: string; 1842 font_size_legacy_values?: string; 1843 font_size_style_values?: string; 1844 font_size_formats?: string; 1845 font_size_input_default_unit?: string; 1846 forced_root_block?: string; 1847 forced_root_block_attrs?: Record<string, string>; 1848 formats?: Formats; 1849 format_noneditable_selector?: string; 1850 height?: number | string; 1851 hidden_input?: boolean; 1852 highlight_on_focus?: boolean; 1853 icons?: string; 1854 icons_url?: string; 1855 id?: string; 1856 iframe_aria_text?: string; 1857 iframe_attrs?: Record<string, string>; 1858 images_file_types?: string; 1859 images_replace_blob_uris?: boolean; 1860 images_reuse_filename?: boolean; 1861 images_upload_base_path?: string; 1862 images_upload_credentials?: boolean; 1863 images_upload_handler?: UploadHandler; 1864 images_upload_url?: string; 1865 indent?: boolean; 1866 indent_after?: string; 1867 indent_before?: string; 1868 indent_use_margin?: boolean; 1869 indentation?: string; 1870 init_instance_callback?: SetupCallback; 1871 inline?: boolean; 1872 inline_boundaries?: boolean; 1873 inline_boundaries_selector?: string; 1874 inline_styles?: boolean; 1875 invalid_elements?: string; 1876 invalid_styles?: string | Record<string, string>; 1877 keep_styles?: boolean; 1878 language?: string; 1879 language_load?: boolean; 1880 language_url?: string; 1881 line_height_formats?: string; 1882 max_height?: number; 1883 max_width?: number; 1884 menu?: Record<string, { 1885 title: string; 1886 items: string; 1887 }>; 1888 menubar?: boolean | string; 1889 min_height?: number; 1890 min_width?: number; 1891 model?: string; 1892 model_url?: string; 1893 newline_behavior?: 'block' | 'linebreak' | 'invert' | 'default'; 1894 no_newline_selector?: string; 1895 noneditable_class?: string; 1896 noneditable_regexp?: RegExp | RegExp[]; 1897 nowrap?: boolean; 1898 object_resizing?: boolean | string; 1899 paste_as_text?: boolean; 1900 paste_block_drop?: boolean; 1901 paste_data_images?: boolean; 1902 paste_merge_formats?: boolean; 1903 paste_postprocess?: PastePostProcessFn; 1904 paste_preprocess?: PastePreProcessFn; 1905 paste_remove_styles_if_webkit?: boolean; 1906 paste_tab_spaces?: number; 1907 paste_webkit_styles?: string; 1908 placeholder?: string; 1909 preserve_cdata?: boolean; 1910 preview_styles?: false | string; 1911 promotion?: boolean; 1912 protect?: RegExp[]; 1913 readonly?: boolean; 1914 referrer_policy?: ReferrerPolicy; 1915 relative_urls?: boolean; 1916 remove_script_host?: boolean; 1917 remove_trailing_brs?: boolean; 1918 removed_menuitems?: string; 1919 resize?: boolean | 'both'; 1920 resize_img_proportional?: boolean; 1921 root_name?: string; 1922 schema?: SchemaType; 1923 selector?: string; 1924 setup?: SetupCallback; 1925 sidebar_show?: string; 1926 skin?: boolean | string; 1927 skin_url?: string; 1928 smart_paste?: boolean; 1929 statusbar?: boolean; 1930 style_formats?: AllowedFormat[]; 1931 style_formats_autohide?: boolean; 1932 style_formats_merge?: boolean; 1933 submit_patch?: boolean; 1934 suffix?: string; 1935 table_tab_navigation?: boolean; 1936 target?: HTMLElement; 1937 text_patterns?: RawPattern[] | false; 1938 text_patterns_lookup?: RawDynamicPatternsLookup; 1939 theme?: string | ThemeInitFunc | false; 1940 theme_url?: string; 1941 toolbar?: boolean | string | string[] | Array<ToolbarGroup>; 1942 toolbar1?: string; 1943 toolbar2?: string; 1944 toolbar3?: string; 1945 toolbar4?: string; 1946 toolbar5?: string; 1947 toolbar6?: string; 1948 toolbar7?: string; 1949 toolbar8?: string; 1950 toolbar9?: string; 1951 toolbar_groups?: Record<string, GroupToolbarButtonSpec>; 1952 toolbar_location?: ToolbarLocation; 1953 toolbar_mode?: ToolbarMode; 1954 toolbar_sticky?: boolean; 1955 toolbar_sticky_offset?: number; 1956 typeahead_urls?: boolean; 1957 ui_mode?: 'combined' | 'split'; 1958 url_converter?: URLConverter; 1959 url_converter_scope?: any; 1960 urlconverter_callback?: URLConverterCallback; 1961 valid_children?: string; 1962 valid_classes?: string | Record<string, string>; 1963 valid_elements?: string; 1964 valid_styles?: string | Record<string, string>; 1965 verify_html?: boolean; 1966 visual?: boolean; 1967 visual_anchor_class?: string; 1968 visual_table_class?: string; 1969 width?: number | string; 1970 xss_sanitization?: boolean; 1971 disable_nodechange?: boolean; 1972 forced_plugins?: string | string[]; 1973 plugin_base_urls?: Record<string, string>; 1974 service_message?: string; 1975 [key: string]: any; 1976 } 1977 interface RawEditorOptions extends BaseEditorOptions { 1978 external_plugins?: Record<string, string>; 1979 mobile?: RawEditorOptions; 1980 plugins?: string | string[]; 1981 } 1982 interface NormalizedEditorOptions extends BaseEditorOptions { 1983 external_plugins: Record<string, string>; 1984 forced_plugins: string[]; 1985 plugins: string[]; 1986 } 1987 interface EditorOptions extends NormalizedEditorOptions { 1988 a11y_advanced_options: boolean; 1989 allow_unsafe_link_target: boolean; 1990 anchor_bottom: string; 1991 anchor_top: string; 1992 automatic_uploads: boolean; 1993 block_formats: string; 1994 body_class: string; 1995 body_id: string; 1996 br_newline_selector: string; 1997 color_map: string[]; 1998 color_cols: number; 1999 color_cols_foreground: number; 2000 color_cols_background: number; 2001 color_default_background: string; 2002 color_default_foreground: string; 2003 content_css: string[]; 2004 contextmenu: string[]; 2005 custom_colors: boolean; 2006 document_base_url: string; 2007 draggable_modal: boolean; 2008 editable_class: string; 2009 font_css: string[]; 2010 font_family_formats: string; 2011 font_size_classes: string; 2012 font_size_formats: string; 2013 font_size_input_default_unit: string; 2014 font_size_legacy_values: string; 2015 font_size_style_values: string; 2016 forced_root_block: string; 2017 forced_root_block_attrs: Record<string, string>; 2018 format_noneditable_selector: string; 2019 height: number | string; 2020 highlight_on_focus: boolean; 2021 iframe_attrs: Record<string, string>; 2022 images_file_types: string; 2023 images_upload_base_path: string; 2024 images_upload_credentials: boolean; 2025 images_upload_url: string; 2026 indent_use_margin: boolean; 2027 indentation: string; 2028 inline: boolean; 2029 inline_boundaries_selector: string; 2030 language: string; 2031 language_load: boolean; 2032 language_url: string; 2033 line_height_formats: string; 2034 menu: Record<string, { 2035 title: string; 2036 items: string; 2037 }>; 2038 menubar: boolean | string; 2039 model: string; 2040 no_newline_selector: string; 2041 noneditable_class: string; 2042 noneditable_regexp: RegExp[]; 2043 object_resizing: string; 2044 paste_as_text: boolean; 2045 preview_styles: string; 2046 promotion: boolean; 2047 readonly: boolean; 2048 removed_menuitems: string; 2049 toolbar: boolean | string | string[] | Array<ToolbarGroup>; 2050 toolbar_groups: Record<string, GroupToolbarButtonSpec>; 2051 toolbar_location: ToolbarLocation; 2052 toolbar_mode: ToolbarMode; 2053 toolbar_persist: boolean; 2054 toolbar_sticky: boolean; 2055 toolbar_sticky_offset: number; 2056 text_patterns: Pattern[]; 2057 text_patterns_lookup: DynamicPatternsLookup; 2058 visual: boolean; 2059 visual_anchor_class: string; 2060 visual_table_class: string; 2061 width: number | string; 2062 xss_sanitization: boolean; 2063 } 2064 declare type StyleMap = Record<string, string | number>; 2065 interface StylesSettings { 2066 allow_script_urls?: boolean; 2067 allow_svg_data_urls?: boolean; 2068 url_converter?: URLConverter; 2069 url_converter_scope?: any; 2070 } 2071 interface Styles { 2072 parse: (css: string | undefined) => Record<string, string>; 2073 serialize: (styles: StyleMap, elementName?: string) => string; 2074 } 2075 declare type EventUtilsCallback<T> = (event: EventUtilsEvent<T>) => void | boolean; 2076 declare type EventUtilsEvent<T> = NormalizedEvent<T> & { 2077 metaKey: boolean; 2078 }; 2079 interface Callback$1<T> { 2080 func: EventUtilsCallback<T>; 2081 scope: any; 2082 } 2083 interface CallbackList<T> extends Array<Callback$1<T>> { 2084 fakeName: string | false; 2085 capture: boolean; 2086 nativeHandler: EventListener; 2087 } 2088 interface EventUtilsConstructor { 2089 readonly prototype: EventUtils; 2090 new (): EventUtils; 2091 Event: EventUtils; 2092 } 2093 declare class EventUtils { 2094 static Event: EventUtils; 2095 domLoaded: boolean; 2096 events: Record<number, Record<string, CallbackList<any>>>; 2097 private readonly expando; 2098 private hasFocusIn; 2099 private count; 2100 constructor(); 2101 bind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback: EventUtilsCallback<HTMLElementEventMap[K]>, scope?: any): EventUtilsCallback<HTMLElementEventMap[K]>; 2102 bind<T = any>(target: any, names: string, callback: EventUtilsCallback<T>, scope?: any): EventUtilsCallback<T>; 2103 unbind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback?: EventUtilsCallback<HTMLElementEventMap[K]>): this; 2104 unbind<T = any>(target: any, names: string, callback?: EventUtilsCallback<T>): this; 2105 unbind(target: any): this; 2106 fire(target: any, name: string, args?: {}): this; 2107 dispatch(target: any, name: string, args?: {}): this; 2108 clean(target: any): this; 2109 destroy(): void; 2110 cancel<T>(e: EventUtilsEvent<T>): boolean; 2111 private executeHandlers; 2112 } 2113 interface SetAttribEvent { 2114 attrElm: HTMLElement; 2115 attrName: string; 2116 attrValue: string | boolean | number | null; 2117 } 2118 interface DOMUtilsSettings { 2119 schema: Schema; 2120 url_converter: URLConverter; 2121 url_converter_scope: any; 2122 ownEvents: boolean; 2123 keep_values: boolean; 2124 update_styles: boolean; 2125 root_element: HTMLElement | null; 2126 collect: boolean; 2127 onSetAttrib: (event: SetAttribEvent) => void; 2128 contentCssCors: boolean; 2129 referrerPolicy: ReferrerPolicy; 2130 } 2131 declare type Target = Node | Window; 2132 declare type RunArguments<T extends Node = Node> = string | T | Array<string | T> | null; 2133 declare type BoundEvent = [ 2134 Target, 2135 string, 2136 EventUtilsCallback<any>, 2137 any 2138 ]; 2139 declare type Callback<K extends string> = EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>; 2140 declare type RunResult<T, R> = T extends Array<any> ? R[] : false | R; 2141 interface DOMUtils { 2142 doc: Document; 2143 settings: Partial<DOMUtilsSettings>; 2144 win: Window; 2145 files: Record<string, boolean>; 2146 stdMode: boolean; 2147 boxModel: boolean; 2148 styleSheetLoader: StyleSheetLoader; 2149 boundEvents: BoundEvent[]; 2150 styles: Styles; 2151 schema: Schema; 2152 events: EventUtils; 2153 root: Node | null; 2154 isBlock: { 2155 (node: Node | null): node is HTMLElement; 2156 (node: string): boolean; 2157 }; 2158 clone: (node: Node, deep: boolean) => Node; 2159 getRoot: () => HTMLElement; 2160 getViewPort: (argWin?: Window) => GeomRect; 2161 getRect: (elm: string | HTMLElement) => GeomRect; 2162 getSize: (elm: string | HTMLElement) => { 2163 w: number; 2164 h: number; 2165 }; 2166 getParent: { 2167 <K extends keyof HTMLElementTagNameMap>(node: string | Node | null, selector: K, root?: Node): HTMLElementTagNameMap[K] | null; 2168 <T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node): T | null; 2169 (node: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node): Node | null; 2170 }; 2171 getParents: { 2172 <K extends keyof HTMLElementTagNameMap>(elm: string | HTMLElementTagNameMap[K] | null, selector: K, root?: Node, collect?: boolean): Array<HTMLElementTagNameMap[K]>; 2173 <T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node, collect?: boolean): T[]; 2174 (elm: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node, collect?: boolean): Node[]; 2175 }; 2176 get: { 2177 <T extends Node>(elm: T): T; 2178 (elm: string): HTMLElement | null; 2179 }; 2180 getNext: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null; 2181 getPrev: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null; 2182 select: { 2183 <K extends keyof HTMLElementTagNameMap>(selector: K, scope?: string | Node): Array<HTMLElementTagNameMap[K]>; 2184 <T extends HTMLElement = HTMLElement>(selector: string, scope?: string | Node): T[]; 2185 }; 2186 is: { 2187 <T extends Element>(elm: Node | Node[] | null, selector: string): elm is T; 2188 (elm: Node | Node[] | null, selector: string): boolean; 2189 }; 2190 add: (parentElm: RunArguments, name: string | Element, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null, create?: boolean) => HTMLElement; 2191 create: { 2192 <K extends keyof HTMLElementTagNameMap>(name: K, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElementTagNameMap[K]; 2193 (name: string, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElement; 2194 }; 2195 createHTML: (name: string, attrs?: Record<string, string | null>, html?: string) => string; 2196 createFragment: (html?: string) => DocumentFragment; 2197 remove: { 2198 <T extends Node>(node: T | T[], keepChildren?: boolean): typeof node extends Array<any> ? T[] : T; 2199 <T extends Node>(node: string, keepChildren?: boolean): T | false; 2200 }; 2201 getStyle: { 2202 (elm: Element, name: string, computed: true): string; 2203 (elm: string | Element | null, name: string, computed?: boolean): string | undefined; 2204 }; 2205 setStyle: (elm: string | Element | Element[], name: string, value: string | number | null) => void; 2206 setStyles: (elm: string | Element | Element[], stylesArg: StyleMap) => void; 2207 removeAllAttribs: (e: RunArguments<Element>) => void; 2208 setAttrib: (elm: RunArguments<Element>, name: string, value: string | boolean | number | null) => void; 2209 setAttribs: (elm: RunArguments<Element>, attrs: Record<string, string | boolean | number | null>) => void; 2210 getAttrib: (elm: string | Element | null, name: string, defaultVal?: string) => string; 2211 getAttribs: (elm: string | Element) => NamedNodeMap | Attr[]; 2212 getPos: (elm: string | Element, rootElm?: Node) => { 2213 x: number; 2214 y: number; 2215 }; 2216 parseStyle: (cssText: string) => Record<string, string>; 2217 serializeStyle: (stylesArg: StyleMap, name?: string) => string; 2218 addStyle: (cssText: string) => void; 2219 loadCSS: (url: string) => void; 2220 hasClass: (elm: string | Element, cls: string) => boolean; 2221 addClass: (elm: RunArguments<Element>, cls: string) => void; 2222 removeClass: (elm: RunArguments<Element>, cls: string) => void; 2223 toggleClass: (elm: RunArguments<Element>, cls: string, state?: boolean) => void; 2224 show: (elm: string | Node | Node[]) => void; 2225 hide: (elm: string | Node | Node[]) => void; 2226 isHidden: (elm: string | Node) => boolean; 2227 uniqueId: (prefix?: string) => string; 2228 setHTML: (elm: RunArguments<Element>, html: string) => void; 2229 getOuterHTML: (elm: string | Node) => string; 2230 setOuterHTML: (elm: string | Node | Node[], html: string) => void; 2231 decode: (text: string) => string; 2232 encode: (text: string) => string; 2233 insertAfter: { 2234 <T extends Node>(node: T | T[], reference: string | Node): T; 2235 <T extends Node>(node: RunArguments<T>, reference: string | Node): RunResult<typeof node, T>; 2236 }; 2237 replace: { 2238 <T extends Node>(newElm: Node, oldElm: T | T[], keepChildren?: boolean): T; 2239 <T extends Node>(newElm: Node, oldElm: RunArguments<T>, keepChildren?: boolean): false | T; 2240 }; 2241 rename: { 2242 <K extends keyof HTMLElementTagNameMap>(elm: Element, name: K): HTMLElementTagNameMap[K]; 2243 (elm: Element, name: string): Element; 2244 }; 2245 findCommonAncestor: (a: Node, b: Node) => Node | null; 2246 run<R, T extends Node>(this: DOMUtils, elm: T | T[], func: (node: T) => R, scope?: any): typeof elm extends Array<any> ? R[] : R; 2247 run<R, T extends Node>(this: DOMUtils, elm: RunArguments<T>, func: (node: T) => R, scope?: any): RunResult<typeof elm, R>; 2248 isEmpty: (node: Node, elements?: Record<string, any>) => boolean; 2249 createRng: () => Range; 2250 nodeIndex: (node: Node, normalized?: boolean) => number; 2251 split: { 2252 <T extends Node>(parentElm: Node, splitElm: Node, replacementElm: T): T | undefined; 2253 <T extends Node>(parentElm: Node, splitElm: T): T | undefined; 2254 }; 2255 bind: { 2256 <K extends string>(target: Target, name: K, func: Callback<K>, scope?: any): Callback<K>; 2257 <K extends string>(target: Target[], name: K, func: Callback<K>, scope?: any): Callback<K>[]; 2258 }; 2259 unbind: { 2260 <K extends string>(target: Target, name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils; 2261 <K extends string>(target: Target[], name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils[]; 2262 }; 2263 fire: (target: Node | Window, name: string, evt?: {}) => EventUtils; 2264 dispatch: (target: Node | Window, name: string, evt?: {}) => EventUtils; 2265 getContentEditable: (node: Node) => string | null; 2266 getContentEditableParent: (node: Node) => string | null; 2267 isEditable: (node: Node | null | undefined) => boolean; 2268 destroy: () => void; 2269 isChildOf: (node: Node, parent: Node) => boolean; 2270 dumpRng: (r: Range) => string; 2271 } 2272 interface ClientRect { 2273 left: number; 2274 top: number; 2275 bottom: number; 2276 right: number; 2277 width: number; 2278 height: number; 2279 } 2280 interface BookmarkManager { 2281 getBookmark: (type?: number, normalized?: boolean) => Bookmark; 2282 moveToBookmark: (bookmark: Bookmark) => void; 2283 } 2284 interface ControlSelection { 2285 isResizable: (elm: Element) => boolean; 2286 showResizeRect: (elm: HTMLElement) => void; 2287 hideResizeRect: () => void; 2288 updateResizeRect: (evt: EditorEvent<any>) => void; 2289 destroy: () => void; 2290 } 2291 interface WriterSettings { 2292 element_format?: 'xhtml' | 'html'; 2293 entities?: string; 2294 entity_encoding?: EntityEncoding; 2295 indent?: boolean; 2296 indent_after?: string; 2297 indent_before?: string; 2298 } 2299 declare type Attributes = Array<{ 2300 name: string; 2301 value: string; 2302 }>; 2303 interface Writer { 2304 cdata: (text: string) => void; 2305 comment: (text: string) => void; 2306 doctype: (text: string) => void; 2307 end: (name: string) => void; 2308 getContent: () => string; 2309 pi: (name: string, text?: string) => void; 2310 reset: () => void; 2311 start: (name: string, attrs?: Attributes | null, empty?: boolean) => void; 2312 text: (text: string, raw?: boolean) => void; 2313 } 2314 interface HtmlSerializerSettings extends WriterSettings { 2315 inner?: boolean; 2316 validate?: boolean; 2317 } 2318 interface HtmlSerializer { 2319 serialize: (node: AstNode) => string; 2320 } 2321 interface DomSerializerSettings extends DomParserSettings, WriterSettings, SchemaSettings, HtmlSerializerSettings { 2322 url_converter?: URLConverter; 2323 url_converter_scope?: {}; 2324 } 2325 interface DomSerializerImpl { 2326 schema: Schema; 2327 addNodeFilter: (name: string, callback: ParserFilterCallback) => void; 2328 addAttributeFilter: (name: string, callback: ParserFilterCallback) => void; 2329 getNodeFilters: () => ParserFilter[]; 2330 getAttributeFilters: () => ParserFilter[]; 2331 removeNodeFilter: (name: string, callback?: ParserFilterCallback) => void; 2332 removeAttributeFilter: (name: string, callback?: ParserFilterCallback) => void; 2333 serialize: { 2334 (node: Element, parserArgs: { 2335 format: 'tree'; 2336 } & ParserArgs): AstNode; 2337 (node: Element, parserArgs?: ParserArgs): string; 2338 }; 2339 addRules: (rules: string) => void; 2340 setRules: (rules: string) => void; 2341 addTempAttr: (name: string) => void; 2342 getTempAttrs: () => string[]; 2343 } 2344 interface DomSerializer extends DomSerializerImpl { 2345 } 2346 interface EditorSelection { 2347 bookmarkManager: BookmarkManager; 2348 controlSelection: ControlSelection; 2349 dom: DOMUtils; 2350 win: Window; 2351 serializer: DomSerializer; 2352 editor: Editor; 2353 collapse: (toStart?: boolean) => void; 2354 setCursorLocation: { 2355 (node: Node, offset: number): void; 2356 (): void; 2357 }; 2358 getContent: { 2359 (args: { 2360 format: 'tree'; 2361 } & Partial<GetSelectionContentArgs>): AstNode; 2362 (args?: Partial<GetSelectionContentArgs>): string; 2363 }; 2364 setContent: (content: string, args?: Partial<SetSelectionContentArgs>) => void; 2365 getBookmark: (type?: number, normalized?: boolean) => Bookmark; 2366 moveToBookmark: (bookmark: Bookmark) => void; 2367 select: (node: Node, content?: boolean) => Node; 2368 isCollapsed: () => boolean; 2369 isEditable: () => boolean; 2370 isForward: () => boolean; 2371 setNode: (elm: Element) => Element; 2372 getNode: () => HTMLElement; 2373 getSel: () => Selection | null; 2374 setRng: (rng: Range, forward?: boolean) => void; 2375 getRng: () => Range; 2376 getStart: (real?: boolean) => Element; 2377 getEnd: (real?: boolean) => Element; 2378 getSelectedBlocks: (startElm?: Element, endElm?: Element) => Element[]; 2379 normalize: () => Range; 2380 selectorChanged: (selector: string, callback: (active: boolean, args: { 2381 node: Node; 2382 selector: String; 2383 parents: Node[]; 2384 }) => void) => EditorSelection; 2385 selectorChangedWithUnbind: (selector: string, callback: (active: boolean, args: { 2386 node: Node; 2387 selector: String; 2388 parents: Node[]; 2389 }) => void) => { 2390 unbind: () => void; 2391 }; 2392 getScrollContainer: () => HTMLElement | undefined; 2393 scrollIntoView: (elm?: HTMLElement, alignToTop?: boolean) => void; 2394 placeCaretAt: (clientX: number, clientY: number) => void; 2395 getBoundingClientRect: () => ClientRect | DOMRect; 2396 destroy: () => void; 2397 expand: (options?: { 2398 type: 'word'; 2399 }) => void; 2400 } 2401 declare type EditorCommandCallback<S> = (this: S, ui: boolean, value: any) => void; 2402 declare type EditorCommandsCallback = (command: string, ui: boolean, value?: any) => void; 2403 interface Commands { 2404 state: Record<string, (command: string) => boolean>; 2405 exec: Record<string, EditorCommandsCallback>; 2406 value: Record<string, (command: string) => string>; 2407 } 2408 interface ExecCommandArgs { 2409 skip_focus?: boolean; 2410 } 2411 interface EditorCommandsConstructor { 2412 readonly prototype: EditorCommands; 2413 new (editor: Editor): EditorCommands; 2414 } 2415 declare class EditorCommands { 2416 private readonly editor; 2417 private commands; 2418 constructor(editor: Editor); 2419 execCommand(command: string, ui?: boolean, value?: any, args?: ExecCommandArgs): boolean; 2420 queryCommandState(command: string): boolean; 2421 queryCommandValue(command: string): string; 2422 addCommands<K extends keyof Commands>(commandList: Commands[K], type: K): void; 2423 addCommands(commandList: Record<string, EditorCommandsCallback>): void; 2424 addCommand<S>(command: string, callback: EditorCommandCallback<S>, scope: S): void; 2425 addCommand(command: string, callback: EditorCommandCallback<Editor>): void; 2426 queryCommandSupported(command: string): boolean; 2427 addQueryStateHandler<S>(command: string, callback: (this: S) => boolean, scope: S): void; 2428 addQueryStateHandler(command: string, callback: (this: Editor) => boolean): void; 2429 addQueryValueHandler<S>(command: string, callback: (this: S) => string, scope: S): void; 2430 addQueryValueHandler(command: string, callback: (this: Editor) => string): void; 2431 } 2432 interface RawString { 2433 raw: string; 2434 } 2435 declare type Primitive = string | number | boolean | Record<string | number, any> | Function; 2436 declare type TokenisedString = [ 2437 string, 2438 ...Primitive[] 2439 ]; 2440 declare type Untranslated = Primitive | TokenisedString | RawString | null | undefined; 2441 declare type TranslatedString = string; 2442 interface I18n { 2443 getData: () => Record<string, Record<string, string>>; 2444 setCode: (newCode: string) => void; 2445 getCode: () => string; 2446 add: (code: string, items: Record<string, string>) => void; 2447 translate: (text: Untranslated) => TranslatedString; 2448 isRtl: () => boolean; 2449 hasCode: (code: string) => boolean; 2450 } 2451 interface Observable<T extends {}> { 2452 fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U, bubble?: boolean): EditorEvent<U>; 2453 dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U, bubble?: boolean): EditorEvent<U>; 2454 on<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): EventDispatcher<T>; 2455 off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): EventDispatcher<T>; 2456 once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void): EventDispatcher<T>; 2457 hasEventListeners(name: string): boolean; 2458 } 2459 interface URISettings { 2460 base_uri?: URI; 2461 } 2462 interface URIConstructor { 2463 readonly prototype: URI; 2464 new (url: string, settings?: URISettings): URI; 2465 getDocumentBaseUrl: (loc: { 2466 protocol: string; 2467 host?: string; 2468 href?: string; 2469 pathname?: string; 2470 }) => string; 2471 parseDataUri: (uri: string) => { 2472 type: string; 2473 data: string; 2474 }; 2475 } 2476 interface SafeUriOptions { 2477 readonly allow_html_data_urls?: boolean; 2478 readonly allow_script_urls?: boolean; 2479 readonly allow_svg_data_urls?: boolean; 2480 } 2481 declare class URI { 2482 static parseDataUri(uri: string): { 2483 type: string | undefined; 2484 data: string; 2485 }; 2486 static isDomSafe(uri: string, context?: string, options?: SafeUriOptions): boolean; 2487 static getDocumentBaseUrl(loc: { 2488 protocol: string; 2489 host?: string; 2490 href?: string; 2491 pathname?: string; 2492 }): string; 2493 source: string; 2494 protocol: string | undefined; 2495 authority: string | undefined; 2496 userInfo: string | undefined; 2497 user: string | undefined; 2498 password: string | undefined; 2499 host: string | undefined; 2500 port: string | undefined; 2501 relative: string | undefined; 2502 path: string; 2503 directory: string; 2504 file: string | undefined; 2505 query: string | undefined; 2506 anchor: string | undefined; 2507 settings: URISettings; 2508 constructor(url: string, settings?: URISettings); 2509 setPath(path: string): void; 2510 toRelative(uri: string): string; 2511 toAbsolute(uri: string, noHost?: boolean): string; 2512 isSameOrigin(uri: URI): boolean; 2513 toRelPath(base: string, path: string): string; 2514 toAbsPath(base: string, path: string): string; 2515 getURI(noProtoHost?: boolean): string; 2516 } 2517 interface EditorManager extends Observable<EditorManagerEventMap> { 2518 defaultOptions: RawEditorOptions; 2519 majorVersion: string; 2520 minorVersion: string; 2521 releaseDate: string; 2522 activeEditor: Editor | null; 2523 focusedEditor: Editor | null; 2524 baseURI: URI; 2525 baseURL: string; 2526 documentBaseURL: string; 2527 i18n: I18n; 2528 suffix: string; 2529 add(this: EditorManager, editor: Editor): Editor; 2530 addI18n: (code: string, item: Record<string, string>) => void; 2531 createEditor(this: EditorManager, id: string, options: RawEditorOptions): Editor; 2532 execCommand(this: EditorManager, cmd: string, ui: boolean, value: any): boolean; 2533 get(this: EditorManager): Editor[]; 2534 get(this: EditorManager, id: number | string): Editor | null; 2535 init(this: EditorManager, options: RawEditorOptions): Promise<Editor[]>; 2536 overrideDefaults(this: EditorManager, defaultOptions: Partial<RawEditorOptions>): void; 2537 remove(this: EditorManager): void; 2538 remove(this: EditorManager, selector: string): void; 2539 remove(this: EditorManager, editor: Editor): Editor | null; 2540 setActive(this: EditorManager, editor: Editor): void; 2541 setup(this: EditorManager): void; 2542 translate: (text: Untranslated) => TranslatedString; 2543 triggerSave: () => void; 2544 _setBaseUrl(this: EditorManager, baseUrl: string): void; 2545 } 2546 interface EditorObservable extends Observable<EditorEventMap> { 2547 bindPendingEventDelegates(this: Editor): void; 2548 toggleNativeEvent(this: Editor, name: string, state: boolean): void; 2549 unbindAllNativeEvents(this: Editor): void; 2550 } 2551 interface ProcessorSuccess<T> { 2552 valid: true; 2553 value: T; 2554 } 2555 interface ProcessorError { 2556 valid: false; 2557 message: string; 2558 } 2559 declare type SimpleProcessor = (value: unknown) => boolean; 2560 declare type Processor<T> = (value: unknown) => ProcessorSuccess<T> | ProcessorError; 2561 interface BuiltInOptionTypeMap { 2562 'string': string; 2563 'number': number; 2564 'boolean': boolean; 2565 'array': any[]; 2566 'function': Function; 2567 'object': any; 2568 'string[]': string[]; 2569 'object[]': any[]; 2570 'regexp': RegExp; 2571 } 2572 declare type BuiltInOptionType = keyof BuiltInOptionTypeMap; 2573 interface BaseOptionSpec { 2574 immutable?: boolean; 2575 deprecated?: boolean; 2576 docsUrl?: string; 2577 } 2578 interface BuiltInOptionSpec<K extends BuiltInOptionType> extends BaseOptionSpec { 2579 processor: K; 2580 default?: BuiltInOptionTypeMap[K]; 2581 } 2582 interface SimpleOptionSpec<T> extends BaseOptionSpec { 2583 processor: SimpleProcessor; 2584 default?: T; 2585 } 2586 interface OptionSpec<T, U> extends BaseOptionSpec { 2587 processor: Processor<U>; 2588 default?: T; 2589 } 2590 interface Options { 2591 register: { 2592 <K extends BuiltInOptionType>(name: string, spec: BuiltInOptionSpec<K>): void; 2593 <K extends keyof NormalizedEditorOptions>(name: K, spec: OptionSpec<NormalizedEditorOptions[K], EditorOptions[K]> | SimpleOptionSpec<NormalizedEditorOptions[K]>): void; 2594 <T, U>(name: string, spec: OptionSpec<T, U>): void; 2595 <T>(name: string, spec: SimpleOptionSpec<T>): void; 2596 }; 2597 isRegistered: (name: string) => boolean; 2598 get: { 2599 <K extends keyof EditorOptions>(name: K): EditorOptions[K]; 2600 <T>(name: string): T | undefined; 2601 }; 2602 set: <K extends string, T>(name: K, value: K extends keyof NormalizedEditorOptions ? NormalizedEditorOptions[K] : T) => boolean; 2603 unset: (name: string) => boolean; 2604 isSet: (name: string) => boolean; 2605 } 2606 interface UploadResult$1 { 2607 element: HTMLImageElement; 2608 status: boolean; 2609 blobInfo: BlobInfo; 2610 uploadUri: string; 2611 removed: boolean; 2612 } 2613 interface EditorUpload { 2614 blobCache: BlobCache; 2615 addFilter: (filter: (img: HTMLImageElement) => boolean) => void; 2616 uploadImages: () => Promise<UploadResult$1[]>; 2617 uploadImagesAuto: () => Promise<UploadResult$1[]>; 2618 scanForImages: () => Promise<BlobInfoImagePair[]>; 2619 destroy: () => void; 2620 } 2621 declare type FormatChangeCallback = (state: boolean, data: { 2622 node: Node; 2623 format: string; 2624 parents: Element[]; 2625 }) => void; 2626 interface FormatRegistry { 2627 get: { 2628 (name: string): Format[] | undefined; 2629 (): Record<string, Format[]>; 2630 }; 2631 has: (name: string) => boolean; 2632 register: (name: string | Formats, format?: Format[] | Format) => void; 2633 unregister: (name: string) => Formats; 2634 } 2635 interface Formatter extends FormatRegistry { 2636 apply: (name: string, vars?: FormatVars, node?: Node | RangeLikeObject | null) => void; 2637 remove: (name: string, vars?: FormatVars, node?: Node | Range, similar?: boolean) => void; 2638 toggle: (name: string, vars?: FormatVars, node?: Node) => void; 2639 match: (name: string, vars?: FormatVars, node?: Node, similar?: boolean) => boolean; 2640 closest: (names: string[]) => string | null; 2641 matchAll: (names: string[], vars?: FormatVars) => string[]; 2642 matchNode: (node: Node | null, name: string, vars?: FormatVars, similar?: boolean) => Format | undefined; 2643 canApply: (name: string) => boolean; 2644 formatChanged: (names: string, callback: FormatChangeCallback, similar?: boolean, vars?: FormatVars) => { 2645 unbind: () => void; 2646 }; 2647 getCssText: (format: string | ApplyFormat) => string; 2648 } 2649 interface EditorMode { 2650 isReadOnly: () => boolean; 2651 set: (mode: string) => void; 2652 get: () => string; 2653 register: (mode: string, api: EditorModeApi) => void; 2654 } 2655 interface EditorModeApi { 2656 activate: () => void; 2657 deactivate: () => void; 2658 editorReadOnly: boolean; 2659 } 2660 interface Model { 2661 readonly table: { 2662 readonly getSelectedCells: () => HTMLTableCellElement[]; 2663 readonly clearSelectedCells: (container: Node) => void; 2664 }; 2665 } 2666 declare type ModelManager = AddOnManager<Model>; 2667 interface Plugin { 2668 getMetadata?: () => { 2669 name: string; 2670 url: string; 2671 }; 2672 init?: (editor: Editor, url: string) => void; 2673 [key: string]: any; 2674 } 2675 declare type PluginManager = AddOnManager<void | Plugin>; 2676 interface ShortcutsConstructor { 2677 readonly prototype: Shortcuts; 2678 new (editor: Editor): Shortcuts; 2679 } 2680 declare type CommandFunc = string | [ 2681 string, 2682 boolean, 2683 any 2684 ] | (() => void); 2685 declare class Shortcuts { 2686 private readonly editor; 2687 private readonly shortcuts; 2688 private pendingPatterns; 2689 constructor(editor: Editor); 2690 add(pattern: string, desc: string | null, cmdFunc: CommandFunc, scope?: any): boolean; 2691 remove(pattern: string): boolean; 2692 private normalizeCommandFunc; 2693 private createShortcut; 2694 private hasModifier; 2695 private isFunctionKey; 2696 private matchShortcut; 2697 private executeShortcutAction; 2698 } 2699 interface RenderResult { 2700 iframeContainer?: HTMLElement; 2701 editorContainer: HTMLElement; 2702 api?: Partial<EditorUiApi>; 2703 } 2704 interface Theme { 2705 ui?: any; 2706 inline?: any; 2707 execCommand?: (command: string, ui?: boolean, value?: any) => boolean; 2708 destroy?: () => void; 2709 init?: (editor: Editor, url: string) => void; 2710 renderUI?: () => Promise<RenderResult> | RenderResult; 2711 getNotificationManagerImpl?: () => NotificationManagerImpl; 2712 getWindowManagerImpl?: () => WindowManagerImpl; 2713 } 2714 declare type ThemeManager = AddOnManager<void | Theme>; 2715 interface EditorConstructor { 2716 readonly prototype: Editor; 2717 new (id: string, options: RawEditorOptions, editorManager: EditorManager): Editor; 2718 } 2719 declare class Editor implements EditorObservable { 2720 documentBaseUrl: string; 2721 baseUri: URI; 2722 id: string; 2723 plugins: Record<string, Plugin>; 2724 documentBaseURI: URI; 2725 baseURI: URI; 2726 contentCSS: string[]; 2727 contentStyles: string[]; 2728 ui: EditorUi; 2729 mode: EditorMode; 2730 options: Options; 2731 editorUpload: EditorUpload; 2732 shortcuts: Shortcuts; 2733 loadedCSS: Record<string, any>; 2734 editorCommands: EditorCommands; 2735 suffix: string; 2736 editorManager: EditorManager; 2737 hidden: boolean; 2738 inline: boolean; 2739 hasVisual: boolean; 2740 isNotDirty: boolean; 2741 annotator: Annotator; 2742 bodyElement: HTMLElement | undefined; 2743 bookmark: any; 2744 composing: boolean; 2745 container: HTMLElement; 2746 contentAreaContainer: HTMLElement; 2747 contentDocument: Document; 2748 contentWindow: Window; 2749 delegates: Record<string, EventUtilsCallback<any>> | undefined; 2750 destroyed: boolean; 2751 dom: DOMUtils; 2752 editorContainer: HTMLElement; 2753 eventRoot: Element | undefined; 2754 formatter: Formatter; 2755 formElement: HTMLElement | undefined; 2756 formEventDelegate: ((e: Event) => void) | undefined; 2757 hasHiddenInput: boolean; 2758 iframeElement: HTMLIFrameElement | null; 2759 iframeHTML: string | undefined; 2760 initialized: boolean; 2761 notificationManager: NotificationManager; 2762 orgDisplay: string; 2763 orgVisibility: string | undefined; 2764 parser: DomParser; 2765 quirks: Quirks; 2766 readonly: boolean; 2767 removed: boolean; 2768 schema: Schema; 2769 selection: EditorSelection; 2770 serializer: DomSerializer; 2771 startContent: string; 2772 targetElm: HTMLElement; 2773 theme: Theme; 2774 model: Model; 2775 undoManager: UndoManager; 2776 windowManager: WindowManager; 2777 _beforeUnload: (() => void) | undefined; 2778 _eventDispatcher: EventDispatcher<NativeEventMap> | undefined; 2779 _nodeChangeDispatcher: NodeChange; 2780 _pendingNativeEvents: string[]; 2781 _selectionOverrides: SelectionOverrides; 2782 _skinLoaded: boolean; 2783 bindPendingEventDelegates: EditorObservable['bindPendingEventDelegates']; 2784 toggleNativeEvent: EditorObservable['toggleNativeEvent']; 2785 unbindAllNativeEvents: EditorObservable['unbindAllNativeEvents']; 2786 fire: EditorObservable['fire']; 2787 dispatch: EditorObservable['dispatch']; 2788 on: EditorObservable['on']; 2789 off: EditorObservable['off']; 2790 once: EditorObservable['once']; 2791 hasEventListeners: EditorObservable['hasEventListeners']; 2792 constructor(id: string, options: RawEditorOptions, editorManager: EditorManager); 2793 render(): void; 2794 focus(skipFocus?: boolean): void; 2795 hasFocus(): boolean; 2796 translate(text: Untranslated): TranslatedString; 2797 getParam<K extends BuiltInOptionType>(name: string, defaultVal: BuiltInOptionTypeMap[K], type: K): BuiltInOptionTypeMap[K]; 2798 getParam<K extends keyof NormalizedEditorOptions>(name: K, defaultVal?: NormalizedEditorOptions[K], type?: BuiltInOptionType): NormalizedEditorOptions[K]; 2799 getParam<T>(name: string, defaultVal: T, type?: BuiltInOptionType): T; 2800 hasPlugin(name: string, loaded?: boolean): boolean; 2801 nodeChanged(args?: any): void; 2802 addCommand<S>(name: string, callback: EditorCommandCallback<S>, scope: S): void; 2803 addCommand(name: string, callback: EditorCommandCallback<Editor>): void; 2804 addQueryStateHandler<S>(name: string, callback: (this: S) => boolean, scope?: S): void; 2805 addQueryStateHandler(name: string, callback: (this: Editor) => boolean): void; 2806 addQueryValueHandler<S>(name: string, callback: (this: S) => string, scope: S): void; 2807 addQueryValueHandler(name: string, callback: (this: Editor) => string): void; 2808 addShortcut(pattern: string, desc: string, cmdFunc: string | [ 2809 string, 2810 boolean, 2811 any 2812 ] | (() => void), scope?: any): void; 2813 execCommand(cmd: string, ui?: boolean, value?: any, args?: ExecCommandArgs): boolean; 2814 queryCommandState(cmd: string): boolean; 2815 queryCommandValue(cmd: string): string; 2816 queryCommandSupported(cmd: string): boolean; 2817 show(): void; 2818 hide(): void; 2819 isHidden(): boolean; 2820 setProgressState(state: boolean, time?: number): void; 2821 load(args?: Partial<SetContentArgs>): string; 2822 save(args?: Partial<GetContentArgs>): string; 2823 setContent(content: string, args?: Partial<SetContentArgs>): string; 2824 setContent(content: AstNode, args?: Partial<SetContentArgs>): AstNode; 2825 setContent(content: Content, args?: Partial<SetContentArgs>): Content; 2826 getContent(args: { 2827 format: 'tree'; 2828 } & Partial<GetContentArgs>): AstNode; 2829 getContent(args?: Partial<GetContentArgs>): string; 2830 insertContent(content: string, args?: any): void; 2831 resetContent(initialContent?: string): void; 2832 isDirty(): boolean; 2833 setDirty(state: boolean): void; 2834 getContainer(): HTMLElement; 2835 getContentAreaContainer(): HTMLElement; 2836 getElement(): HTMLElement; 2837 getWin(): Window; 2838 getDoc(): Document; 2839 getBody(): HTMLElement; 2840 convertURL(url: string, name: string, elm?: string | Element): string; 2841 addVisual(elm?: HTMLElement): void; 2842 remove(): void; 2843 destroy(automatic?: boolean): void; 2844 uploadImages(): Promise<UploadResult$1[]>; 2845 _scanForImages(): Promise<BlobInfoImagePair[]>; 2846 } 2847 interface UrlObject { 2848 prefix: string; 2849 resource: string; 2850 suffix: string; 2851 } 2852 declare type WaitState = 'added' | 'loaded'; 2853 declare type AddOnConstructor<T> = (editor: Editor, url: string) => T; 2854 interface AddOnManager<T> { 2855 items: AddOnConstructor<T>[]; 2856 urls: Record<string, string>; 2857 lookup: Record<string, { 2858 instance: AddOnConstructor<T>; 2859 }>; 2860 get: (name: string) => AddOnConstructor<T> | undefined; 2861 requireLangPack: (name: string, languages?: string) => void; 2862 add: (id: string, addOn: AddOnConstructor<T>) => AddOnConstructor<T>; 2863 remove: (name: string) => void; 2864 createUrl: (baseUrl: UrlObject, dep: string | UrlObject) => UrlObject; 2865 load: (name: string, addOnUrl: string | UrlObject) => Promise<void>; 2866 waitFor: (name: string, state?: WaitState) => Promise<void>; 2867 } 2868 interface RangeUtils { 2869 walk: (rng: Range, callback: (nodes: Node[]) => void) => void; 2870 split: (rng: Range) => RangeLikeObject; 2871 normalize: (rng: Range) => boolean; 2872 expand: (rng: Range, options?: { 2873 type: 'word'; 2874 }) => Range; 2875 } 2876 interface ScriptLoaderSettings { 2877 referrerPolicy?: ReferrerPolicy; 2878 } 2879 interface ScriptLoaderConstructor { 2880 readonly prototype: ScriptLoader; 2881 new (): ScriptLoader; 2882 ScriptLoader: ScriptLoader; 2883 } 2884 declare class ScriptLoader { 2885 static ScriptLoader: ScriptLoader; 2886 private settings; 2887 private states; 2888 private queue; 2889 private scriptLoadedCallbacks; 2890 private queueLoadedCallbacks; 2891 private loading; 2892 constructor(settings?: ScriptLoaderSettings); 2893 _setReferrerPolicy(referrerPolicy: ReferrerPolicy): void; 2894 loadScript(url: string): Promise<void>; 2895 isDone(url: string): boolean; 2896 markDone(url: string): void; 2897 add(url: string): Promise<void>; 2898 load(url: string): Promise<void>; 2899 remove(url: string): void; 2900 loadQueue(): Promise<void>; 2901 loadScripts(scripts: string[]): Promise<void>; 2902 } 2903 declare type TextProcessCallback = (node: Text, offset: number, text: string) => number; 2904 interface Spot { 2905 container: Text; 2906 offset: number; 2907 } 2908 interface TextSeeker { 2909 backwards: (node: Node, offset: number, process: TextProcessCallback, root?: Node) => Spot | null; 2910 forwards: (node: Node, offset: number, process: TextProcessCallback, root?: Node) => Spot | null; 2911 } 2912 interface DomTreeWalkerConstructor { 2913 readonly prototype: DomTreeWalker; 2914 new (startNode: Node, rootNode: Node): DomTreeWalker; 2915 } 2916 declare class DomTreeWalker { 2917 private readonly rootNode; 2918 private node; 2919 constructor(startNode: Node, rootNode: Node); 2920 current(): Node | null | undefined; 2921 next(shallow?: boolean): Node | null | undefined; 2922 prev(shallow?: boolean): Node | null | undefined; 2923 prev2(shallow?: boolean): Node | null | undefined; 2924 private findSibling; 2925 private findPreviousNode; 2926 } 2927 interface Version { 2928 major: number; 2929 minor: number; 2930 } 2931 interface Env { 2932 transparentSrc: string; 2933 documentMode: number; 2934 cacheSuffix: any; 2935 container: any; 2936 canHaveCSP: boolean; 2937 windowsPhone: boolean; 2938 browser: { 2939 current: string | undefined; 2940 version: Version; 2941 isEdge: () => boolean; 2942 isChromium: () => boolean; 2943 isIE: () => boolean; 2944 isOpera: () => boolean; 2945 isFirefox: () => boolean; 2946 isSafari: () => boolean; 2947 }; 2948 os: { 2949 current: string | undefined; 2950 version: Version; 2951 isWindows: () => boolean; 2952 isiOS: () => boolean; 2953 isAndroid: () => boolean; 2954 isMacOS: () => boolean; 2955 isLinux: () => boolean; 2956 isSolaris: () => boolean; 2957 isFreeBSD: () => boolean; 2958 isChromeOS: () => boolean; 2959 }; 2960 deviceType: { 2961 isiPad: () => boolean; 2962 isiPhone: () => boolean; 2963 isTablet: () => boolean; 2964 isPhone: () => boolean; 2965 isTouch: () => boolean; 2966 isWebView: () => boolean; 2967 isDesktop: () => boolean; 2968 }; 2969 } 2970 interface FakeClipboardItem { 2971 readonly items: Record<string, any>; 2972 readonly types: ReadonlyArray<string>; 2973 readonly getType: <D = any>(type: string) => D | undefined; 2974 } 2975 interface FakeClipboard { 2976 readonly FakeClipboardItem: (items: Record<string, any>) => FakeClipboardItem; 2977 readonly write: (data: FakeClipboardItem[]) => void; 2978 readonly read: () => FakeClipboardItem[] | undefined; 2979 readonly clear: () => void; 2980 } 2981 interface FocusManager { 2982 isEditorUIElement: (elm: Element) => boolean; 2983 } 2984 interface EntitiesMap { 2985 [name: string]: string; 2986 } 2987 interface Entities { 2988 encodeRaw: (text: string, attr?: boolean) => string; 2989 encodeAllRaw: (text: string) => string; 2990 encodeNumeric: (text: string, attr?: boolean) => string; 2991 encodeNamed: (text: string, attr?: boolean, entities?: EntitiesMap) => string; 2992 getEncodeFunc: (name: string, entities?: string) => (text: string, attr?: boolean) => string; 2993 decode: (text: string) => string; 2994 } 2995 interface IconPack { 2996 icons: Record<string, string>; 2997 } 2998 interface IconManager { 2999 add: (id: string, iconPack: IconPack) => void; 3000 get: (id: string) => IconPack; 3001 has: (id: string) => boolean; 3002 } 3003 interface Resource { 3004 load: <T = any>(id: string, url: string) => Promise<T>; 3005 add: (id: string, data: any) => void; 3006 unload: (id: string) => void; 3007 } 3008 type TextPatterns_d_Pattern = Pattern; 3009 type TextPatterns_d_RawPattern = RawPattern; 3010 type TextPatterns_d_DynamicPatternsLookup = DynamicPatternsLookup; 3011 type TextPatterns_d_RawDynamicPatternsLookup = RawDynamicPatternsLookup; 3012 type TextPatterns_d_DynamicPatternContext = DynamicPatternContext; 3013 type TextPatterns_d_BlockCmdPattern = BlockCmdPattern; 3014 type TextPatterns_d_BlockPattern = BlockPattern; 3015 type TextPatterns_d_BlockFormatPattern = BlockFormatPattern; 3016 type TextPatterns_d_InlineCmdPattern = InlineCmdPattern; 3017 type TextPatterns_d_InlinePattern = InlinePattern; 3018 type TextPatterns_d_InlineFormatPattern = InlineFormatPattern; 3019 declare namespace TextPatterns_d { 3020 export { TextPatterns_d_Pattern as Pattern, TextPatterns_d_RawPattern as RawPattern, TextPatterns_d_DynamicPatternsLookup as DynamicPatternsLookup, TextPatterns_d_RawDynamicPatternsLookup as RawDynamicPatternsLookup, TextPatterns_d_DynamicPatternContext as DynamicPatternContext, TextPatterns_d_BlockCmdPattern as BlockCmdPattern, TextPatterns_d_BlockPattern as BlockPattern, TextPatterns_d_BlockFormatPattern as BlockFormatPattern, TextPatterns_d_InlineCmdPattern as InlineCmdPattern, TextPatterns_d_InlinePattern as InlinePattern, TextPatterns_d_InlineFormatPattern as InlineFormatPattern, }; 3021 } 3022 interface Delay { 3023 setEditorInterval: (editor: Editor, callback: () => void, time?: number) => number; 3024 setEditorTimeout: (editor: Editor, callback: () => void, time?: number) => number; 3025 } 3026 declare type UploadResult = UploadResult$2; 3027 interface ImageUploader { 3028 upload: (blobInfos: BlobInfo[], showNotification?: boolean) => Promise<UploadResult[]>; 3029 } 3030 declare type ArrayCallback$1<T, R> = (this: any, x: T, i: number, xs: ArrayLike<T>) => R; 3031 declare type ObjCallback$1<T, R> = (this: any, value: T, key: string, obj: Record<string, T>) => R; 3032 declare type ArrayCallback<T, R> = ArrayCallback$1<T, R>; 3033 declare type ObjCallback<T, R> = ObjCallback$1<T, R>; 3034 declare type WalkCallback<T> = (this: any, o: T, i: string, n: keyof T | undefined) => boolean | void; 3035 interface Tools { 3036 is: (obj: any, type?: string) => boolean; 3037 isArray: <T>(arr: any) => arr is Array<T>; 3038 inArray: <T>(arr: ArrayLike<T>, value: T) => number; 3039 grep: { 3040 <T>(arr: ArrayLike<T> | null | undefined, pred?: ArrayCallback<T, boolean>): T[]; 3041 <T>(arr: Record<string, T> | null | undefined, pred?: ObjCallback<T, boolean>): T[]; 3042 }; 3043 trim: (str: string | null | undefined) => string; 3044 toArray: <T>(obj: ArrayLike<T>) => T[]; 3045 hasOwn: (obj: any, name: string) => boolean; 3046 makeMap: (items: ArrayLike<string> | string | undefined, delim?: string | RegExp, map?: Record<string, {}>) => Record<string, {}>; 3047 each: { 3048 <T>(arr: ArrayLike<T> | null | undefined, cb: ArrayCallback<T, void | boolean>, scope?: any): boolean; 3049 <T>(obj: Record<string, T> | null | undefined, cb: ObjCallback<T, void | boolean>, scope?: any): boolean; 3050 }; 3051 map: { 3052 <T, R>(arr: ArrayLike<T> | null | undefined, cb: ArrayCallback<T, R>): R[]; 3053 <T, R>(obj: Record<string, T> | null | undefined, cb: ObjCallback<T, R>): R[]; 3054 }; 3055 extend: (obj: Object, ext: Object, ...objs: Object[]) => any; 3056 walk: <T extends Record<string, any>>(obj: T, f: WalkCallback<T>, n?: keyof T, scope?: any) => void; 3057 resolve: (path: string, o?: Object) => any; 3058 explode: (s: string | string[], d?: string | RegExp) => string[]; 3059 _addCacheSuffix: (url: string) => string; 3060 } 3061 interface KeyboardLikeEvent { 3062 shiftKey: boolean; 3063 ctrlKey: boolean; 3064 altKey: boolean; 3065 metaKey: boolean; 3066 } 3067 interface VK { 3068 BACKSPACE: number; 3069 DELETE: number; 3070 DOWN: number; 3071 ENTER: number; 3072 ESC: number; 3073 LEFT: number; 3074 RIGHT: number; 3075 SPACEBAR: number; 3076 TAB: number; 3077 UP: number; 3078 PAGE_UP: number; 3079 PAGE_DOWN: number; 3080 END: number; 3081 HOME: number; 3082 modifierPressed: (e: KeyboardLikeEvent) => boolean; 3083 metaKeyPressed: (e: KeyboardLikeEvent) => boolean; 3084 } 3085 interface DOMUtilsNamespace { 3086 (doc: Document, settings: Partial<DOMUtilsSettings>): DOMUtils; 3087 DOM: DOMUtils; 3088 nodeIndex: (node: Node, normalized?: boolean) => number; 3089 } 3090 interface RangeUtilsNamespace { 3091 (dom: DOMUtils): RangeUtils; 3092 compareRanges: (rng1: RangeLikeObject, rng2: RangeLikeObject) => boolean; 3093 getCaretRangeFromPoint: (clientX: number, clientY: number, doc: Document) => Range; 3094 getSelectedNode: (range: Range) => Node; 3095 getNode: (container: Node, offset: number) => Node; 3096 } 3097 interface AddOnManagerNamespace { 3098 <T>(): AddOnManager<T>; 3099 language: string | undefined; 3100 languageLoad: boolean; 3101 baseURL: string; 3102 PluginManager: PluginManager; 3103 ThemeManager: ThemeManager; 3104 ModelManager: ModelManager; 3105 } 3106 interface BookmarkManagerNamespace { 3107 (selection: EditorSelection): BookmarkManager; 3108 isBookmarkNode: (node: Node) => boolean; 3109 } 3110 interface TinyMCE extends EditorManager { 3111 geom: { 3112 Rect: Rect; 3113 }; 3114 util: { 3115 Delay: Delay; 3116 Tools: Tools; 3117 VK: VK; 3118 URI: URIConstructor; 3119 EventDispatcher: EventDispatcherConstructor<any>; 3120 Observable: Observable<any>; 3121 I18n: I18n; 3122 LocalStorage: Storage; 3123 ImageUploader: ImageUploader; 3124 }; 3125 dom: { 3126 EventUtils: EventUtilsConstructor; 3127 TreeWalker: DomTreeWalkerConstructor; 3128 TextSeeker: (dom: DOMUtils, isBlockBoundary?: (node: Node) => boolean) => TextSeeker; 3129 DOMUtils: DOMUtilsNamespace; 3130 ScriptLoader: ScriptLoaderConstructor; 3131 RangeUtils: RangeUtilsNamespace; 3132 Serializer: (settings: DomSerializerSettings, editor?: Editor) => DomSerializer; 3133 ControlSelection: (selection: EditorSelection, editor: Editor) => ControlSelection; 3134 BookmarkManager: BookmarkManagerNamespace; 3135 Selection: (dom: DOMUtils, win: Window, serializer: DomSerializer, editor: Editor) => EditorSelection; 3136 StyleSheetLoader: (documentOrShadowRoot: Document | ShadowRoot, settings: StyleSheetLoaderSettings) => StyleSheetLoader; 3137 Event: EventUtils; 3138 }; 3139 html: { 3140 Styles: (settings?: StylesSettings, schema?: Schema) => Styles; 3141 Entities: Entities; 3142 Node: AstNodeConstructor; 3143 Schema: (settings?: SchemaSettings) => Schema; 3144 DomParser: (settings?: DomParserSettings, schema?: Schema) => DomParser; 3145 Writer: (settings?: WriterSettings) => Writer; 3146 Serializer: (settings?: HtmlSerializerSettings, schema?: Schema) => HtmlSerializer; 3147 }; 3148 AddOnManager: AddOnManagerNamespace; 3149 Annotator: (editor: Editor) => Annotator; 3150 Editor: EditorConstructor; 3151 EditorCommands: EditorCommandsConstructor; 3152 EditorManager: EditorManager; 3153 EditorObservable: EditorObservable; 3154 Env: Env; 3155 FocusManager: FocusManager; 3156 Formatter: (editor: Editor) => Formatter; 3157 NotificationManager: (editor: Editor) => NotificationManager; 3158 Shortcuts: ShortcutsConstructor; 3159 UndoManager: (editor: Editor) => UndoManager; 3160 WindowManager: (editor: Editor) => WindowManager; 3161 DOM: DOMUtils; 3162 ScriptLoader: ScriptLoader; 3163 PluginManager: PluginManager; 3164 ThemeManager: ThemeManager; 3165 ModelManager: ModelManager; 3166 IconManager: IconManager; 3167 Resource: Resource; 3168 FakeClipboard: FakeClipboard; 3169 trim: Tools['trim']; 3170 isArray: Tools['isArray']; 3171 is: Tools['is']; 3172 toArray: Tools['toArray']; 3173 makeMap: Tools['makeMap']; 3174 each: Tools['each']; 3175 map: Tools['map']; 3176 grep: Tools['grep']; 3177 inArray: Tools['inArray']; 3178 extend: Tools['extend']; 3179 walk: Tools['walk']; 3180 resolve: Tools['resolve']; 3181 explode: Tools['explode']; 3182 _addCacheSuffix: Tools['_addCacheSuffix']; 3183 } 3184 declare const tinymce: TinyMCE; 3185 export { AddOnManager, Annotator, AstNode, Bookmark, BookmarkManager, ControlSelection, DOMUtils, Delay, DomParser, DomParserSettings, DomSerializer, DomSerializerSettings, DomTreeWalker, Editor, EditorCommands, EditorEvent, EditorManager, EditorModeApi, EditorObservable, EditorOptions, EditorSelection, Entities, Env, EventDispatcher, EventUtils, EventTypes_d as Events, FakeClipboard, FocusManager, Format_d as Formats, Formatter, GeomRect, HtmlSerializer, HtmlSerializerSettings, I18n, IconManager, Model, ModelManager, NotificationApi, NotificationManager, NotificationSpec, Observable, Plugin, PluginManager, RangeUtils, RawEditorOptions, Rect, Resource, Schema, SchemaSettings, ScriptLoader, Shortcuts, StyleSheetLoader, Styles, TextPatterns_d as TextPatterns, TextSeeker, Theme, ThemeManager, TinyMCE, Tools, URI, Ui_d as Ui, UndoManager, VK, WindowManager, Writer, WriterSettings, tinymce as default };