/**
* DevExpress WebRichEdit (dx.richedit.d.ts)
* Version: 24.2.6
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs
*/
declare module DevExpress.RichEdit {
	export interface IInitDocumentProcessorOptions {
		cloneCurrentModel?: boolean;
	}
	export enum ViewType {
		Simple = 0,
		PrintLayout = 1
	}
	export enum MergeMode {
		NewParagraph = 0,
		NewSection = 1
	}
	export abstract class Collection<T> {
		get count(): number;
		getByIndex(index: number): T | null;
	}
	export class Font {
		get name(): string;
		get cssName(): string;
		delete(): void;
	}
	export class FontCollection extends Collection<Font> {
		getByName(name: string): Font | null;
		create(name: string, cssName?: string): Font | null;
		getAllFontNames(): string[];
	}
	export interface IInterval {
		start: number;
		length: number;
	}
	export class Interval implements IInterval {
		start: number;
		length: number;
		get end(): number;
		constructor(start: number, length: number);
	}
	export enum ParagraphAlignment {
		Left = 0,
		Right = 1,
		Center = 2,
		Justify = 3
	}
	export enum ParagraphLineSpacingType {
		Single = 0,
		Sesquialteral = 1,
		Double = 2,
		Multiple = 3,
		Exactly = 4,
		AtLeast = 5
	}
	export enum ParagraphFirstLineIndent {
		None = 0,
		Indented = 1,
		Hanging = 2
	}
	export interface IParagraphProperties {
		alignment?: ParagraphAlignment;
		outlineLevel?: number;
		rightIndent?: number;
		spacingBefore?: number;
		spacingAfter?: number;
		lineSpacingType?: ParagraphLineSpacingType;
		firstLineIndentType?: ParagraphFirstLineIndent;
		firstLineIndent?: number;
		contextualSpacing?: boolean;
		keepLinesTogether?: boolean;
		pageBreakBefore?: boolean;
		leftIndent?: number;
		lineSpacing?: number;
		backColor?: string;
	}
	export enum ListType {
		MultiLevel = 0,
		Number = 1,
		Bullet = 2
	}
	export enum ListLevelFormat {
		Decimal = 0,
		Hiragana = 1,
		FullWidthHiragana = 2,
		ArabicAbjad = 3,
		ArabicAlpha = 4,
		Bullet = 5,
		CardinalText = 6,
		Chicago = 7,
		ChineseCounting = 8,
		ChineseCountingThousand = 9,
		ChineseLegalSimplified = 10,
		Chosung = 11,
		DecimalEnclosedCircle = 12,
		DecimalEnclosedCircleChinese = 13,
		DecimalEnclosedFullstop = 14,
		DecimalEnclosedParentheses = 15,
		DecimalFullWidth = 16,
		DecimalFullWidth2 = 17,
		DecimalHalfWidth = 18,
		DecimalZero = 19,
		Ganada = 20,
		Hebrew1 = 21,
		Hebrew2 = 22,
		Hex = 23,
		HindiConsonants = 24,
		HindiDescriptive = 25,
		HindiNumbers = 26,
		HindiVowels = 27,
		IdeographDigital = 28,
		IdeographEnclosedCircle = 29,
		IdeographLegalTraditional = 30,
		IdeographTraditional = 31,
		IdeographZodiac = 32,
		IdeographZodiacTraditional = 33,
		Iroha = 34,
		IrohaFullWidth = 35,
		JapaneseCounting = 36,
		JapaneseDigitalTenThousand = 37,
		JapaneseLegal = 38,
		KoreanCounting = 39,
		KoreanDigital = 40,
		KoreanDigital2 = 41,
		KoreanLegal = 42,
		LowerLetter = 43,
		LowerRoman = 44,
		None = 45,
		NumberInDash = 46,
		Ordinal = 47,
		OrdinalText = 48,
		RussianLower = 49,
		RussianUpper = 50,
		TaiwaneseCounting = 51,
		TaiwaneseCountingThousand = 52,
		TaiwaneseDigital = 53,
		ThaiDescriptive = 54,
		ThaiLetters = 55,
		ThaiNumbers = 56,
		UpperLetter = 57,
		UpperRoman = 58,
		VietnameseDescriptive = 59
	}
	export enum ListLevelNumberAlignment {
		Left = 0,
		Center = 1,
		Right = 2
	}
	export class ListLevelSettings {
		displayFormatString: string;
		format: ListLevelFormat;
		start: number;
		alignment: ListLevelNumberAlignment;
		separator: string;
		leftIndent: number;
		firstLineIndent: number;
		firstLineIndentType: ParagraphFirstLineIndent;
		fontName: string;
		fontColor: string;
		fontSize: number;
		fontBold: boolean;
		fontItalic: boolean;
	}
	export class List {
		get index(): number;
		get type(): ListType;
		get levelProperties(): ListLevelSettings[];
		set levelProperties(settings: ListLevelSettings[]);
	}
	export class Paragraph {
		get index(): number;
		get interval(): Interval;
		get properties(): IParagraphProperties;
		set properties(properties: IParagraphProperties);
		get list(): List | null;
		get listLevel(): number;
		addToList(list: List, targetListLevel?: number): void;
	}
	export class ParagraphCollection extends Collection<Paragraph> {
		create(position: number): Paragraph;
		find(position: number | IInterval): Paragraph[];
	}
	export class Bookmark {
		get index(): number;
		get subDocument(): SubDocument;
		get interval(): Interval;
		get name(): string;
		delete(): void;
	}
	export class BookmarkCollection<TBookmark extends Bookmark> extends Collection<TBookmark> {
		find(position: number | IInterval | IInterval[] | string | RegExp): TBookmark[];
		create(interval: IInterval, name: string): Bookmark;
	}
	export class RangePermission {
		get index(): number;
		get subDocument(): SubDocument;
		get interval(): Interval;
		get userName(): string;
		get group(): string;
		delete(): void;
	}
	export interface IRangePermissionSearchOptions {
		position?: number | IInterval | IInterval[];
		userName?: string | RegExp;
		group?: string | RegExp;
	}
	export class RangePermissionCollection extends Collection<RangePermission> {
		protectRange(intervals: IInterval[], userName?: string, group?: string): RangePermission[];
		find(options: IRangePermissionSearchOptions): RangePermission[];
		isAllowEdit(position: number | IInterval | IInterval[]): boolean;
		create(interval: IInterval, userName?: string, group?: string): RangePermission;
	}
	export class TableCell extends TableElementBase {
		get index(): number;
		get interval(): Interval;
		get parentRow(): TableRow;
		get width(): TableWidth;
		set width(value: TableWidth);
		get backgroundColor(): string;
		set backgroundColor(value: string);
		get contentHorizontalAlignment(): TableContentHorizontalAlignment | null;
		set contentHorizontalAlignment(value: TableContentHorizontalAlignment);
		get contentVerticalAlignment(): TableContentVerticalAlignment;
		set contentVerticalAlignment(value: TableContentVerticalAlignment);
		get characterProperties(): CharacterProperties;
		set characterProperties(value: ICharacterProperties);
		get borders(): TableCellBorders;
		set borders(value: ITableCellBorders);
		get margins(): Margins;
		set margins(value: IMargins);
		split(columnCount: number, rowCount: number): void;
	}
	export class TableCellCollection extends TableBaseCollection<TableCell> {
		insert(index: number, toRight?: boolean): TableCell;
		remove(index: number): void;
	}
	export class TableRow extends TableElementBase {
		get index(): number;
		get interval(): Interval;
		get cells(): TableCellCollection;
		get parentTable(): Table;
		get height(): TableRowHeight;
		set height(value: TableRowHeight);
	}
	export class TableRowCollection extends TableBaseCollection<TableRow> {
		insert(index: number, below?: boolean): TableRow;
		remove(index: number): void;
	}
	export class Table extends TableElementBase {
		get index(): number;
		get interval(): Interval;
		delete(): void;
		get rows(): TableRowCollection;
		get parentCell(): TableCell | null;
		get autoFit(): boolean;
		set autoFit(value: boolean);
		get width(): TableWidth;
		set width(value: TableWidth);
		get styleName(): string;
		set styleName(value: string);
		get tableStyleOptions(): TableStyleOptions;
		set tableStyleOptions(value: TableStyleOptions);
		get backgroundColor(): string;
		set backgroundColor(value: string);
		get contentHorizontalAlignment(): TableContentHorizontalAlignment | null;
		set contentHorizontalAlignment(value: TableContentHorizontalAlignment);
		get contentVerticalAlignment(): TableContentVerticalAlignment | null;
		set contentVerticalAlignment(value: TableContentVerticalAlignment);
		get borders(): TableBorders;
		set borders(value: ITableBorders);
		get cellMargins(): Margins;
		set cellMargins(value: IMargins);
		mergeCells(startPosition: TableCellPosition, endPosition: TableCellPosition): void;
	}
	export class TableCollection extends TableBaseCollection<Table> {
		create(position: number, columnCount: number, rowCount: number): Table;
		find(position: number | IInterval): Table[];
	}
	export enum FieldName {
		Unknown = 0,
		Time = 1,
		Date = 2,
		Page = 3,
		NumPages = 4,
		MergeField = 5,
		DocVariable = 6,
		Hyperlink = 7,
		Seq = 8,
		Tc = 9,
		PageRef = 10,
		Toc = 11,
		FillIn = 12
	}
	export class Field {
		get index(): number;
		get interval(): Interval;
		get codeInterval(): Interval;
		get subDocument(): SubDocument;
		get resultInterval(): Interval;
		get isShowCode(): boolean;
		set isShowCode(val: boolean);
		get isHyperlink(): boolean;
		get name(): FieldName;
		delete(): void;
		update(callback?: (self: Field) => void): boolean;
	}
	export class UpdateFieldsOptions {
		doInAllSubDocuments: boolean;
		updateTocFields: boolean;
		constructor(doInAllSubDocuments?: boolean, updateTocFields?: boolean);
	}
	export class FieldCollection extends Collection<Field> {
		create(position: number | Interval, code?: string): Field;
		createMergeField(position: number, name: string): Field;
		find(position: number | IInterval): Field[];
		showAllFieldResults(doInAllSubDocuments?: boolean): void;
		showAllFieldCodes(doInAllSubDocuments?: boolean): void;
		updateAllFields(callback?: () => void, options?: UpdateFieldsOptions): boolean;
	}
	export class HyperlinkInfo {
		constructor(text: string, url?: string, bookmark?: string, tooltip?: string);
		text: string;
		tooltip: string;
		url: string;
		bookmark: string;
	}
	export class Hyperlink extends Field {
		get hyperlinkInfo(): HyperlinkInfo;
		set hyperlinkInfo(hyperlinkInfo: HyperlinkInfo);
	}
	export class HyperlinkCollection extends Collection<Hyperlink> {
		create(position: number | IInterval, hyperlinkInfo: HyperlinkInfo): Hyperlink;
		find(position: number | IInterval): Hyperlink[];
	}
	export class Size {
		width: number;
		height: number;
	}
	export enum WrapType {
		Inline = 0,
		TopAndBottom = 1,
		Tight = 2,
		Through = 3,
		Square = 4,
		BehindText = 5,
		InFrontOfText = 6
	}
	export enum WrapSide {
		Both = 0,
		Left = 1,
		Right = 2,
		Largest = 3
	}
	export interface IFloatingObjectDistance {
		left?: number;
		right?: number;
		top?: number;
		bottom?: number;
	}
	export enum FloatingObjectHorizontalPositionType {
		Aligned = 0,
		Absolute = 1,
		Relative = 2
	}
	export enum FloatingObjectHorizontalAnchorElement {
		Page = 0,
		Character = 1,
		Column = 2,
		Margin = 3,
		LeftMargin = 4,
		RightMargin = 5,
		InsideMargin = 6,
		OutsideMargin = 7
	}
	export enum FloatingObjectHorizontalAlignment {
		None = 0,
		Left = 1,
		Center = 2,
		Right = 3,
		Inside = 4,
		Outside = 5
	}
	export class HorizontalAlignedPosition {
		readonly type = FloatingObjectHorizontalPositionType.Aligned;
		relativeTo: FloatingObjectHorizontalAnchorElement;
		alignment: FloatingObjectHorizontalAlignment;
	}
	export class HorizontalAbsolutePosition {
		readonly type = FloatingObjectHorizontalPositionType.Absolute;
		relativeTo: FloatingObjectHorizontalAnchorElement;
		position: number;
	}
	export class HorizontalRelativePosition {
		readonly type = FloatingObjectHorizontalPositionType.Relative;
		relativeTo: FloatingObjectHorizontalAnchorElement.Margin | FloatingObjectHorizontalAnchorElement.Page | FloatingObjectHorizontalAnchorElement.LeftMargin | FloatingObjectHorizontalAnchorElement.RightMargin | FloatingObjectHorizontalAnchorElement.InsideMargin | FloatingObjectHorizontalAnchorElement.OutsideMargin;
		relativePosition: number;
	}
	export interface IHorizontalAlignedPosition {
		relativeTo: FloatingObjectHorizontalAnchorElement;
		alignment: FloatingObjectHorizontalAlignment;
	}
	export interface IHorizontalAbsolutePosition {
		relativeTo: FloatingObjectHorizontalAnchorElement;
		position: number;
	}
	export interface IHorizontalRelativePosition {
		relativeTo: FloatingObjectHorizontalAnchorElement.Margin | FloatingObjectHorizontalAnchorElement.Page | FloatingObjectHorizontalAnchorElement.LeftMargin | FloatingObjectHorizontalAnchorElement.RightMargin | FloatingObjectHorizontalAnchorElement.InsideMargin | FloatingObjectHorizontalAnchorElement.OutsideMargin;
		relativePosition: number;
	}
	export enum FloatingObjectVerticalPositionType {
		Aligned = 0,
		Absolute = 1,
		Relative = 2
	}
	export enum FloatingObjectVerticalAnchorElement {
		Page = 0,
		Line = 1,
		Paragraph = 2,
		Margin = 3,
		TopMargin = 4,
		BottomMargin = 5,
		InsideMargin = 6,
		OutsideMargin = 7
	}
	export enum FloatingObjectVerticalAlignment {
		Top = 1,
		Center = 2,
		Bottom = 3,
		Inside = 4,
		Outside = 5
	}
	export class VerticalAlignedPosition {
		readonly type = FloatingObjectVerticalPositionType.Aligned;
		relativeTo: FloatingObjectVerticalAnchorElement.Page | FloatingObjectVerticalAnchorElement.Line | FloatingObjectVerticalAnchorElement.Margin | FloatingObjectVerticalAnchorElement.TopMargin | FloatingObjectVerticalAnchorElement.BottomMargin | FloatingObjectVerticalAnchorElement.InsideMargin | FloatingObjectVerticalAnchorElement.OutsideMargin;
		alignment: FloatingObjectVerticalAlignment;
	}
	export class VerticalAbsolutePosition {
		readonly type = FloatingObjectVerticalPositionType.Absolute;
		relativeTo: FloatingObjectVerticalAnchorElement;
		position: number;
	}
	export class VerticalRelativePosition {
		readonly type = FloatingObjectVerticalPositionType.Relative;
		relativeTo: FloatingObjectVerticalAnchorElement.Page | FloatingObjectVerticalAnchorElement.Margin | FloatingObjectVerticalAnchorElement.TopMargin | FloatingObjectVerticalAnchorElement.BottomMargin | FloatingObjectVerticalAnchorElement.InsideMargin | FloatingObjectVerticalAnchorElement.OutsideMargin;
		relativePosition: number;
	}
	export interface IVerticalAlignedPosition {
		relativeTo: FloatingObjectVerticalAnchorElement.Page | FloatingObjectVerticalAnchorElement.Line | FloatingObjectVerticalAnchorElement.Margin | FloatingObjectVerticalAnchorElement.TopMargin | FloatingObjectVerticalAnchorElement.BottomMargin | FloatingObjectVerticalAnchorElement.InsideMargin | FloatingObjectVerticalAnchorElement.OutsideMargin;
		alignment: FloatingObjectVerticalAlignment;
	}
	export interface IVerticalAbsolutePosition {
		relativeTo: FloatingObjectVerticalAnchorElement;
		position: number;
	}
	export interface IVerticalRelativePosition {
		relativeTo: FloatingObjectVerticalAnchorElement.Page | FloatingObjectVerticalAnchorElement.Margin | FloatingObjectVerticalAnchorElement.TopMargin | FloatingObjectVerticalAnchorElement.BottomMargin | FloatingObjectVerticalAnchorElement.InsideMargin | FloatingObjectVerticalAnchorElement.OutsideMargin;
		relativePosition: number;
	}
	export class FloatingImage extends Image {
		get outlineColor(): string;
		set outlineColor(value: string);
		get outlineWidth(): number;
		set outlineWidth(value: number);
		get wrapSide(): WrapSide;
		set wrapSide(wrapSide: WrapSide);
		get distance(): IFloatingObjectDistance;
		set distance(value: IFloatingObjectDistance);
		getHorizontalPosition(): HorizontalAlignedPosition | HorizontalAbsolutePosition | HorizontalRelativePosition;
		setHorizontalPosition(position: IHorizontalAlignedPosition | IHorizontalAbsolutePosition | IHorizontalRelativePosition): void;
		getVerticalPosition(): VerticalAlignedPosition | VerticalAbsolutePosition | VerticalRelativePosition;
		setVerticalPosition(position: IVerticalAlignedPosition | IVerticalAbsolutePosition | IVerticalRelativePosition): void;
		getWrapType(): WrapType;
	}
	export abstract class Image {
		get base64(): string;
		get url(): string | undefined;
		get interval(): Interval;
		get isLoaded(): boolean;
		get extension(): string;
		get originalSize(): Size;
		get actualSize(): Size;
		set actualSize(value: Size);
		get description(): string;
		set description(value: string);
		abstract getWrapType(): WrapType;
		changeWrapType(wrapType: WrapType): InlineImage | FloatingImage;
		delete(): void;
		onLoaded(callback: (image: Image) => void): void;
		reload(base64: string, size?: Size): void;
	}
	export class InlineImage extends Image {
		getWrapType(): WrapType;
	}
	export interface IInsertedInlineImageOptions {
		base64?: string;
		url?: string;
		actualSize: Size;
		callback?: (image: InlineImage) => void;
		description?: string;
	}
	export interface IInsertedFloatingImageOptions {
		base64?: string;
		url?: string;
		actualSize: Size;
		callback?: (image: FloatingImage) => void;
		description?: string;
		outlineColor?: string;
		outlineWidth?: number;
		wrapSide?: WrapSide;
		wrapType?: WrapType;
		distance?: IFloatingObjectDistance;
		horizontalPosition?: IHorizontalAlignedPosition | IHorizontalAbsolutePosition | IHorizontalRelativePosition;
		verticalPosition?: IVerticalAlignedPosition | IVerticalAbsolutePosition | IVerticalRelativePosition;
	}
	export class ImageIterator {
		get image(): InlineImage | FloatingImage | null;
		next(): boolean;
	}
	export class Images {
		createInline(position: number, options: IInsertedInlineImageOptions): InlineImage;
		createFloating(position: number, options: IInsertedFloatingImageOptions): FloatingImage;
		getIterator(startPosition?: number): ImageIterator;
		getAllImages(): (InlineImage | FloatingImage)[];
		find(position: number | Interval | Interval[]): (InlineImage | FloatingImage)[];
	}
	export enum SubDocumentType {
		Main = 0,
		Header = 1,
		Footer = 2,
		TextBox = 3,
		FootNote = 4,
		EndNote = 5
	}
	export enum SectionBreakType {
		NextPage = 0,
		OddPage = 1,
		EvenPage = 2,
		Continuous = 3
	}
	export class Margins {
		left: number;
		right: number;
		top: number;
		bottom: number;
	}
	export enum PaperSize {
		Custom = 0,
		Letter = 1,
		LetterSmall = 2,
		Tabloid = 3,
		Ledger = 4,
		Legal = 5,
		Statement = 6,
		Executive = 7,
		A3 = 8,
		A4 = 9,
		A4Small = 10,
		A5 = 11,
		B4 = 12,
		B5 = 13,
		Folio = 14,
		Quarto = 15,
		Standard10x14 = 16,
		Standard11x17 = 17,
		Note = 18,
		Number9Envelope = 19,
		Number10Envelope = 20,
		Number11Envelope = 21,
		Number12Envelope = 22,
		Number14Envelope = 23,
		CSheet = 24,
		DSheet = 25,
		ESheet = 26,
		DLEnvelope = 27,
		C5Envelope = 28,
		C3Envelope = 29,
		C4Envelope = 30,
		C6Envelope = 31,
		C65Envelope = 32,
		B4Envelope = 33,
		B5Envelope = 34,
		B6Envelope = 35,
		ItalyEnvelope = 36,
		MonarchEnvelope = 37,
		PersonalEnvelope = 38,
		USStandardFanfold = 39,
		GermanStandardFanfold = 40,
		GermanLegalFanfold = 41,
		IsoB4 = 42,
		JapanesePostcard = 43,
		Standard9x11 = 44,
		Standard10x11 = 45,
		Standard15x11 = 46,
		InviteEnvelope = 47,
		LetterExtra = 50,
		LegalExtra = 51,
		TabloidExtra = 52,
		A4Extra = 53,
		LetterTransverse = 54,
		A4Transverse = 55,
		LetterExtraTransverse = 56,
		APlus = 57,
		BPlus = 58,
		LetterPlus = 59,
		A4Plus = 60,
		A5Transverse = 61,
		B5Transverse = 62,
		A3Extra = 63,
		A5Extra = 64,
		B5Extra = 65,
		A2 = 66,
		A3Transverse = 67,
		A3ExtraTransverse = 68,
		JapaneseDoublePostcard = 69,
		A6 = 70,
		JapaneseEnvelopeKakuNumber2 = 71,
		JapaneseEnvelopeKakuNumber3 = 72,
		JapaneseEnvelopeChouNumber3 = 73,
		JapaneseEnvelopeChouNumber4 = 74,
		LetterRotated = 75,
		A3Rotated = 76,
		A4Rotated = 77,
		A5Rotated = 78,
		B4JisRotated = 79,
		B5JisRotated = 80,
		JapanesePostcardRotated = 81,
		JapaneseDoublePostcardRotated = 82,
		A6Rotated = 83,
		JapaneseEnvelopeKakuNumber2Rotated = 84,
		JapaneseEnvelopeKakuNumber3Rotated = 85,
		JapaneseEnvelopeChouNumber3Rotated = 86,
		JapaneseEnvelopeChouNumber4Rotated = 87,
		B6Jis = 88,
		B6JisRotated = 89,
		Standard12x11 = 90,
		JapaneseEnvelopeYouNumber4 = 91,
		JapaneseEnvelopeYouNumber4Rotated = 92,
		Prc16K = 93,
		Prc32K = 94,
		Prc32KBig = 95,
		PrcEnvelopeNumber1 = 96,
		PrcEnvelopeNumber2 = 97,
		PrcEnvelopeNumber3 = 98,
		PrcEnvelopeNumber4 = 99,
		PrcEnvelopeNumber5 = 100,
		PrcEnvelopeNumber6 = 101,
		PrcEnvelopeNumber7 = 102,
		PrcEnvelopeNumber8 = 103,
		PrcEnvelopeNumber9 = 104,
		PrcEnvelopeNumber10 = 105,
		Prc16KRotated = 106,
		Prc32KRotated = 107,
		Prc32KBigRotated = 108,
		PrcEnvelopeNumber1Rotated = 109,
		PrcEnvelopeNumber2Rotated = 110,
		PrcEnvelopeNumber3Rotated = 111,
		PrcEnvelopeNumber4Rotated = 112,
		PrcEnvelopeNumber5Rotated = 113,
		PrcEnvelopeNumber6Rotated = 114,
		PrcEnvelopeNumber7Rotated = 115,
		PrcEnvelopeNumber8Rotated = 116,
		PrcEnvelopeNumber9Rotated = 117,
		PrcEnvelopeNumber10Rotated = 118
	}
	export enum HeaderFooterType {
		First = 0,
		Odd = 1,
		Even = 2,
		Primary = 1
	}
	export class Section {
		get index(): number;
		get interval(): Interval;
		get margins(): Margins;
		set margins(margins: Margins);
		get columnCount(): number;
		set columnCount(columnCount: number);
		get pageSize(): Size;
		set pageSize(size: Size);
		get headerOffset(): number;
		set headerOffset(offset: number);
		get footerOffset(): number;
		set footerOffset(offset: number);
		get paperSize(): PaperSize;
		set paperSize(paperSize: PaperSize);
		get landscape(): boolean;
		set landscape(landscape: boolean);
		getHeader(type?: HeaderFooterType, createIfNotExist?: boolean): SubDocument | null;
		getFooter(type?: HeaderFooterType, createIfNotExist?: boolean): SubDocument | null;
	}
	export enum DocumentFormat {
		PlainText = 1,
		Rtf = 2,
		Html = 3,
		OpenXml = 4
	}
	export enum CharacterPropertiesScript {
		Normal = 0,
		Subscript = 1,
		Superscript = 2
	}
	export class CharacterProperties {
		fontName: string;
		size: number;
		foreColor: string;
		backColor: string;
		highlightColor: string;
		underline: boolean;
		underlineColor: string;
		bold: boolean;
		italic: boolean;
		strikeout: boolean;
		underlineWordsOnly: boolean;
		script: CharacterPropertiesScript;
		allCaps: boolean;
		hidden: boolean;
		smallCaps: boolean;
	}
	export interface ICharacterProperties {
		fontName?: string;
		size?: number;
		foreColor?: string;
		backColor?: string;
		highlightColor?: string;
		underline?: boolean;
		underlineColor?: string;
		bold?: boolean;
		italic?: boolean;
		strikeout?: boolean;
		underlineWordsOnly?: boolean;
		script?: CharacterPropertiesScript;
		allCaps?: boolean;
		hidden?: boolean;
		smallCaps?: boolean;
	}
	export class ParagraphProperties {
		alignment: ParagraphAlignment;
		outlineLevel: number;
		rightIndent: number;
		spacingBefore: number;
		spacingAfter: number;
		lineSpacingType: ParagraphLineSpacingType;
		firstLineIndentType: ParagraphFirstLineIndent;
		firstLineIndent: number;
		contextualSpacing: boolean;
		keepLinesTogether: boolean;
		pageBreakBefore: boolean;
		leftIndent: number;
		lineSpacing: number;
		backColor: string;
	}
	export class SubDocument {
		get paragraphs(): ParagraphCollection;
		get bookmarks(): BookmarkCollection<Bookmark>;
		get rangePermissions(): RangePermissionCollection;
		get tables(): TableCollection;
		get fields(): FieldCollection;
		get hyperlinks(): HyperlinkCollection;
		get images(): Images;
		get parentSubDocument(): SubDocument | null;
		get id(): number;
		get type(): SubDocumentType;
		get interval(): Interval;
		get length(): number;
		insertText(position: number, text: string): Interval;
		insertLineBreak(position: number): Interval;
		insertColumnBreak(position: number): Interval;
		insertPageBreak(position: number): Interval;
		insertSectionBreak(position: number, type: SectionBreakType): Section;
		insertPicture(position: number, base64: string, size?: Size, callback?: (interval: Interval) => void): void;
		insertParagraph(position: number): Paragraph;
		insertHtml(position: number, htmlText: string, callback?: (interval: Interval) => void): void;
		getHtml(interval?: IInterval): string;
		insertRtf(position: number, rtfText: string, callback?: (interval: Interval, isRtfValid: boolean) => void): void;
		getRtf(interval?: IInterval): string;
		insertContent(position: number, content: string | File | Blob | ArrayBuffer, documentFormat: DocumentFormat, callback?: (interval: Interval, success: boolean) => void): void;
		deleteText(interval: IInterval): void;
		getText(interval?: IInterval): string;
		getCharacterProperties(interval: IInterval): CharacterProperties;
		setCharacterProperties(interval: IInterval, characterProperties: ICharacterProperties): void;
		getParagraphProperties(interval: IInterval): ParagraphProperties;
		setParagraphProperties(interval: IInterval, paragraphProperties: IParagraphProperties): void;
	}
	export class SubDocumentCollection<T extends SubDocument> extends Collection<T> {
		get main(): T;
		getById(id: number): T;
		forEach(callback: (subDocument: T) => void): void;
	}
	export class SectionCollection extends Collection<Section> {
		find(position: number): Section;
		create(sectionBreakPosition: number, type: SectionBreakType): Section;
	}
	export class ListCollection extends Collection<List> {
		create(type: ListType): List;
		deleteNumeration(subDocument: SubDocument, interval: IInterval | number): void;
	}
	export class RichEditDocumentBase {
		get fonts(): FontCollection;
		get subDocuments(): SubDocumentCollection<SubDocument>;
		get sections(): SectionCollection;
		get bookmarks(): BookmarkCollection<Bookmark>;
		get rangePermissions(): RangePermissionCollection;
		get paragraphs(): ParagraphCollection;
		get tables(): TableCollection;
		get fields(): FieldCollection;
		get hyperlinks(): HyperlinkCollection;
		get lists(): ListCollection;
		get length(): number;
		get interval(): Interval;
		get isProtected(): boolean;
		protect(password: string): void;
		unprotect(): void;
		checkProtectionPassword(password: string): boolean;
		insertText(position: number, text: string): Interval;
		insertLineBreak(position: number): Interval;
		insertColumnBreak(position: number): Interval;
		insertPageBreak(position: number): Interval;
		insertSectionBreak(position: number, type: SectionBreakType): Section;
		insertPicture(position: number, base64: string, size?: Size, callback?: (interval: Interval) => void): void;
		insertParagraph(position: number): Paragraph;
		deleteText(interval: IInterval): void;
		getText(interval?: Interval): string;
		getCharacterProperties(interval: IInterval): CharacterProperties;
		setCharacterProperties(interval: IInterval, characterProperties: ICharacterProperties): void;
		getParagraphProperties(interval: IInterval): ParagraphProperties;
		setParagraphProperties(interval: IInterval, paragraphProperties: IParagraphProperties): void;
		getDefaultCharacterProperties(): CharacterProperties;
		setDefaultCharacterProperties(characterProperties: ICharacterProperties): void;
	}
	export class BookmarkBase extends Bookmark {
		goTo(): void;
	}
	export class BookmarkCollectionBase extends BookmarkCollection<BookmarkBase> {
	}
	export class SubDocumentBase extends SubDocument {
		get bookmarks(): BookmarkCollectionBase;
	}
	export class SubDocumentCollectionBase extends SubDocumentCollection<SubDocumentBase> {
		get main(): SubDocumentBase;
	}
	export class RichEditDocument extends RichEditDocumentBase {
		get modified(): boolean;
		set modified(value: boolean);
		get subDocuments(): SubDocumentCollectionBase;
		get bookmarks(): BookmarkCollectionBase;
		get images(): Images;
		setDefaultCharacterProperties(characterProperties: ICharacterProperties): void;
	}
	export class RichEditLayout {
		get showHiddenSymbols(): boolean;
		set showHiddenSymbols(value: boolean);
		get showTableGridLines(): boolean;
		set showTableGridLines(value: boolean);
	}
	export class RichEditSelection {
		get activeSubDocument(): SubDocumentBase;
		get anchor(): number;
		get active(): number;
		get start(): number;
		get end(): number;
		get intervals(): Interval[];
		get showCursorAtEndOfLine(): boolean;
		set showCursorAtEndOfLine(value: boolean);
		setSelection(position: number | IInterval | IInterval[]): void;
		selectAll(): void;
		goToSubDocumentEnd(extendSelection?: boolean): void;
		goToNextLine(extendSelection?: boolean): void;
		goToLineEnd(extendSelection?: boolean): void;
		goToLineStart(extendSelection?: boolean): void;
		goToPreviousLine(extendSelection?: boolean): void;
		goToNextCharacter(extendSelection?: boolean): void;
		goToPreviousCharacter(extendSelection?: boolean): void;
		selectLine(extendSelection?: boolean): void;
		goToNextPage(extendSelection?: boolean): void;
		goToPreviousPage(extendSelection?: boolean): void;
		goToDocumentStart(extendSelection?: boolean): void;
		goToDocumentEnd(extendSelection?: boolean): void;
		goToNextWord(extendSelection?: boolean): void;
		goToPreviousWord(extendSelection?: boolean): void;
		goToParagraphStart(extendSelection?: boolean): void;
		goToParagraphEnd(extendSelection?: boolean): void;
		selectParagraph(): void;
		goToNextPageStart(extendSelection?: boolean): void;
		goToPreviousPageStart(extendSelection?: boolean): void;
		selectTableCell(): void;
		selectTableRow(): void;
		selectTable(): void;
	}
	export class History {
		beginTransaction(): void;
		endTransaction(): void;
		redo(): void;
		undo(): void;
		clear(): void;
	}
	export class UnitConverter {
		pixelsToTwips(value: number): number;
		inchesToTwips(value: number): number;
		pointsToTwips(value: number): number;
		centimetersToTwips(value: number): number;
		twipsToCentimeters(value: number): number;
		pixelsToCentimeters(value: number): number;
		twipsToInches(value: number): number;
		pixelsToInches(value: number): number;
		pixelsToPoints(value: number): number;
		twipsToPoints(value: number): number;
		twipsToPixels(value: number): number;
	}
	export class MailMergeOptions {
		getDataSource(): any;
		setDataSource(dataSource: any, callback?: (success: boolean) => void): void;
		get activeRecordIndex(): number;
		set activeRecordIndex(value: number);
		get viewMergedData(): boolean;
		set viewMergedData(value: boolean);
	}
	export class AuthenticationOptions {
		get userName(): string;
		set userName(value: string);
		get group(): string;
		set group(value: string);
	}
	export interface IPaddings {
		left: number;
		right: number;
		top: number;
		bottom: number;
	}
	export class SimpleViewSettings {
		get paddings(): IPaddings;
		get fixedWidth(): number | undefined;
		set paddings(paddings: IPaddings);
		set fixedWidth(width: number | undefined);
	}
	export enum FileTabCommandId {
		CreateDocument = 412,
		OpenDocument = 410,
		ExportDocument = 413,
		DownloadDocumentMenu = 414,
		DownloadDocx = 418,
		DownloadRtf = 419,
		DownloadTxt = 420,
		DownloadHtml = 421,
		PrintDocument = 416
	}
	export enum HomeTabCommandId {
		ChangeCaseMenu = 431,
		AlignParagraphMenu = 432,
		LineSpacingMenu = 433,
		Undo = 6,
		Redo = 7,
		Cut = 10,
		Copy = 9,
		Paste = 8,
		ChangeFontName = 11,
		ChangeFontSize = 13,
		IncreaseFontSize = 14,
		DecreaseFontSize = 15,
		ChangeFontForeColor = 28,
		ShowFontDialog = 52,
		ToggleFontBold = 20,
		ToggleFontItalic = 21,
		ToggleFontUnderline = 22,
		ToggleFontStrikeout = 24,
		ToggleFontSubscript = 27,
		ToggleFontSuperscript = 26,
		CapitalizationSentenceCase = 207,
		CapitalizationUpperCase = 16,
		CapitalizationLowerCase = 17,
		CapitalizeEachWordCase = 18,
		CapitalizationToggleCase = 19,
		ClearFormatting = 30,
		ToggleBulletedList = 31,
		ToggleNumberedList = 32,
		ToggleMultilevelList = 33,
		ToggleParagraphAlignmentLeft = 37,
		ToggleParagraphAlignmentCenter = 38,
		ToggleParagraphAlignmentRight = 39,
		ToggleParagraphAlignmentJustify = 40,
		ToggleShowHiddenSymbols = 36,
		SetSingleParagraphSpacing = 41,
		SetSesquialteralParagraphSpacing = 42,
		SetDoubleParagraphSpacing = 43,
		AddSpacingBeforeParagraph = 45,
		AddSpacingAfterParagraph = 46,
		RemoveSpacingBeforeParagraph = 47,
		RemoveSpacingAfterParagraph = 48,
		ChangeShading = 49,
		ChangeStyle = 12,
		Find = 50,
		Replace = 51,
		ChangeFontHighlightColor = 29,
		ToggleFontDoubleUnderline = 23
	}
	export enum InsertTabCommandId {
		ShowInsertTableDialog = 55,
		InsertPicture = 411,
		ShowBookmarkDialog = 58,
		ShowHyperlinkDialog = 59,
		InsertHeader = 220,
		InsertFooter = 221,
		InsertPageNumberField = 235,
		InsertPageCountField = 236,
		InsertFloatingTextBox = 368
	}
	export enum PageLayoutTabCommandId {
		MarginsMenu = 434,
		OrientationMenu = 435,
		SizeMenu = 436,
		ColumnsMenu = 437,
		BreaksMenu = 438,
		SetSectionNormalPageMargins = 66,
		SetSectionNarrowPageMargins = 67,
		SetSectionModeratePageMargins = 68,
		SetSectionWidePageMargins = 69,
		ShowMarginsPageSetupDialog = 70,
		SetPortraitPageOrientation = 71,
		SetLandscapePageOrientation = 72,
		SetSectionLetterPaperSize = 162,
		SetSectionLegalPaperSize = 99,
		SetSectionFolioPaperSize = 100,
		SetSectionA4PaperSize = 101,
		SetSectionB5PaperSize = 104,
		SetSectionExecutivePaperSize = 105,
		SetSectionA5PaperSize = 102,
		SetSectionA6PaperSize = 103,
		ShowPageSetupDialog = 73,
		SetSectionOneColumn = 74,
		SetSectionTwoColumns = 75,
		SetSectionThreeColumns = 76,
		InsertPageBreak = 54,
		InsertColumnBreak = 79,
		InsertSectionBreakNextPage = 80,
		InsertSectionBreakEvenPage = 81,
		InsertSectionBreakOddPage = 82,
		ChangePageColor = 90
	}
	export enum ReferencesTabCommandId {
		AddTextMenu = 439,
		InsertCaptionMenu = 440,
		InsertTableOfFiguresMenu = 441,
		InsertTableOfContents = 377,
		SetParagraphBodyTextLevel = 385,
		SetParagraphHeading1Level = 386,
		SetParagraphHeading2Level = 387,
		SetParagraphHeading3Level = 388,
		SetParagraphHeading4Level = 389,
		SetParagraphHeading5Level = 390,
		SetParagraphHeading6Level = 391,
		SetParagraphHeading7Level = 392,
		SetParagraphHeading8Level = 393,
		SetParagraphHeading9Level = 394,
		CreateFigureCaptionField = 382,
		CreateTableCaptionField = 383,
		CreateEquationCaptionField = 381,
		CreateTableOfFiguresField = 379,
		CreateTableOfTablesField = 380,
		CreateTableOfEquationsField = 378,
		UpdateTableOfContents = 384
	}
	export enum MailMergeTabCommandId {
		CreateFieldMenu = 442,
		CreateField = 178,
		CreateDateField = 203,
		CreateTimeField = 204,
		CreatePageField = 205,
		CreateNumPagesField = 236,
		CreateEmptyMergeField = 372,
		CreateEmptyDocVariableField = 373,
		CreateEmptyIfField = 459,
		ShowInsertMergeFieldDialog = 214,
		ToggleViewMergedData = 213,
		ShowAllFieldCodes = 186,
		ShowAllFieldResults = 187,
		UpdateAllFields = 200,
		GoToFirstDataRecord = 209,
		GoToPreviousDataRecord = 210,
		GoToNextDataRecord = 211,
		GoToLastDataRecord = 212,
		ShowMailMergeDialog = 216
	}
	export enum ViewTabCommandId {
		SwitchToSimpleView = 405,
		SwitchToPrintLayout = 406,
		ToggleShowHorizontalRuler = 94,
		ToggleFullScreen = 98
	}
	export enum HeaderAndFooterTabCommandId {
		GoToPageHeader = 227,
		GoToPageFooter = 228,
		GoToPreviousPageHeaderFooter = 230,
		GoToNextPageHeaderFooter = 229,
		LinkHeaderFooterToPrevious = 222,
		ToggleDifferentFirstPage = 231,
		ToggleDifferentOddAndEvenPages = 232,
		ChangeHeaderOffset = 330,
		ChangeFooterOffset = 331,
		CloseHeaderFooter = 233
	}
	export enum TableDesignTabCommandId {
		TableStyleOptionsMenu = 443,
		BordersMenu = 444,
		ToggleFirstRow = 280,
		ToggleLastRow = 281,
		ToggleBandedRows = 284,
		ToggleFirstColumn = 282,
		ToggleLastColumn = 283,
		ToggleBandedColumn = 285,
		ChangeTableStyle = 269,
		ChangeTableRepositoryItemBorderStyle = 292,
		ChangeTableRepositoryItemBorderWidth = 291,
		ChangeTableRepositoryItemBorderColor = 290,
		ToggleTableCellsBottomBorder = 272,
		ToggleTableCellsTopBorder = 270,
		ToggleTableCellsLeftBorder = 273,
		ToggleTableCellsRightBorder = 271,
		ToggleTableCellNoBorder = 274,
		ToggleTableCellAllBorders = 275,
		ToggleTableCellOutsideBorders = 279,
		ToggleTableCellInsideBorders = 276,
		ToggleTableCellInsideHorizontalBorders = 277,
		ToggleTableCellInsideVerticalBorders = 278,
		ToggleTableViewGridlines = 295,
		ChangeTableCellShading = 294
	}
	export enum TableLayoutTabCommandId {
		SelectMenu = 445,
		DeleteMenu = 446,
		InsertMenu = 447,
		AutoFitMenu = 448,
		AlignmentMenu = 449,
		SelectTableCell = 286,
		SelectTableColumn = 287,
		SelectTableRow = 288,
		SelectTable = 289,
		ToggleShowTableGridLines = 295,
		ShowDeleteCellsDialog = 253,
		DeleteTableColumns = 248,
		DeleteTableRows = 247,
		DeleteTable = 251,
		InsertTableRowAbove = 246,
		InsertTableRowBelow = 245,
		InsertTableColumnToTheLeft = 243,
		InsertTableColumnToTheRight = 244,
		MergeTableCells = 254,
		ShowSplitCellsDialog = 255,
		SetAutoFitContents = 399,
		SetAutoFitWindow = 400,
		SetFixedColumnWidth = 401,
		TableCellAlignTopLeft = 260,
		TableCellAlignTopCenter = 261,
		TableCellAlignTopRight = 262,
		TableCellAlignMiddleLeft = 263,
		TableCellAlignMiddleCenter = 264,
		TableCellAlignMiddleRight = 265,
		TableCellAlignBottomLeft = 266,
		TableCellAlignBottomCenter = 267,
		TableCellAlignBottomRight = 268
	}
	export enum FloatingObjectsFormatTabCommandId {
		WrapTextMenu = 450,
		PositionMenu = 451,
		BringToFrontMenu = 452,
		SendToBackMenu = 453,
		ChangeFloatingObjectFillColor = 343,
		ChangeFloatingObjectOutlineColor = 344,
		ChangeFloatingObjectOutlineWidth = 345,
		SetFloatingObjectInlineTextWrapType = 374,
		SetFloatingObjectSquareTextWrapType = 346,
		SetFloatingObjectTightTextWrapType = 347,
		SetFloatingObjectThroughTextWrapType = 348,
		SetFloatingObjectTopAndBottomTextWrapType = 349,
		SetFloatingObjectBehindTextWrapType = 350,
		SetFloatingObjectInFrontOfTextWrapType = 351,
		SetFloatingObjectTopLeftAlignment = 352,
		SetFloatingObjectTopCenterAlignment = 353,
		SetFloatingObjectTopRightAlignment = 354,
		SetFloatingObjectMiddleLeftAlignment = 355,
		SetFloatingObjectMiddleCenterAlignment = 356,
		SetFloatingObjectMiddleRightAlignment = 357,
		SetFloatingObjectBottomLeftAlignment = 358,
		SetFloatingObjectBottomCenterAlignment = 359,
		SetFloatingObjectBottomRightAlignment = 360,
		FloatingObjectBringForward = 361,
		FloatingObjectBringToFront = 362,
		FloatingObjectBringInFrontOfText = 363,
		FloatingObjectSendBackward = 364,
		FloatingObjectSendToBack = 365,
		FloatingObjectSendBehindText = 366
	}
	export enum ContextMenuCommandId {
		ApplySpellingSuggestion = 318,
		NoSpellingSuggestions = 457,
		IgnoreSpellingError = 314,
		IgnoreAllSpellingErrors = 315,
		AddWordToDictionary = 317,
		OpenHyperlink = 195,
		ShowEditHyperlinkDialog = 194,
		RemoveHyperlink = 196,
		UpdateField = 179,
		ToggleFieldCodes = 180,
		RestartNumberedList = 170,
		ContinueNumberedList = 189,
		Cut = 10,
		Copy = 9,
		Paste = 8,
		TableMenu = 239,
		InsertTableColumnToTheLeft = 243,
		InsertTableColumnToTheRight = 244,
		InsertTableRowAbove = 246,
		InsertTableRowBelow = 245,
		ShowInsertTableCellsDialog = 252,
		ShowDeleteTableCellsDialog = 253,
		ShowSplitCellsDialog = 255,
		MergeTableCells = 254,
		DecreaseParagraphIndent = 34,
		IncreaseParagraphIndent = 35,
		ShowFontDialog = 52,
		ShowParagraphDialog = 53,
		ShowBookmarkDialog = 58,
		ShowHyperlinkDialog = 59,
		ChangeFloatingObjectTextWrapTypeMenu = 454,
		SetFloatingObjectInlineTextWrapType = 374,
		SetFloatingObjectSquareTextWrapType = 346,
		SetFloatingObjectTightTextWrapType = 347,
		SetFloatingObjectThroughTextWrapType = 348,
		SetFloatingObjectTopAndBottomTextWrapType = 349,
		SetFloatingObjectBehindTextWrapType = 350,
		SetFloatingObjectInFrontOfTextWrapType = 351,
		FloatingObjectBringForwardMenu = 455,
		FloatingObjectBringForward = 361,
		FloatingObjectBringToFront = 362,
		FloatingObjectBringInFrontOfText = 363,
		FloatingObjectSendBackwardMenu = 456,
		FloatingObjectSendBackward = 364,
		FloatingObjectSendToBack = 365,
		FloatingObjectSendBehindText = 366,
		SelectAll = 106
	}
	export type CommandId = FileTabCommandId | HomeTabCommandId | InsertTabCommandId | PageLayoutTabCommandId | ReferencesTabCommandId | MailMergeTabCommandId | ViewTabCommandId | HeaderAndFooterTabCommandId | TableDesignTabCommandId | TableLayoutTabCommandId | FloatingObjectsFormatTabCommandId | ContextMenuCommandId;
	export interface IContextMenuItemOptions {
		text?: string;
		localizationId?: string;
		beginGroup?: boolean;
		icon?: string;
		disabled?: boolean;
		visible?: boolean;
		items?: ContextMenuItem[];
	}
	export class ContextMenuItem {
		text: string;
		localizationId?: string;
		id: CommandId | string;
		disabled: boolean;
		visible: boolean;
		beginGroup: boolean;
		items?: ContextMenuItem[];
		icon?: string;
		constructor(id: CommandId | string, options: IContextMenuItemOptions);
	}
	export enum FileTabItemId {
		CreateNewDocument = 412,
		OpenDocument = 410,
		ExportDocument = 413,
		Download = 414,
		DownloadDocx = 418,
		DownloadRtf = 419,
		DownloadTxt = 420,
		DownloadHtml = 421,
		PrintDocument = 416
	}
	export enum HomeTabItemId {
		ChangeCaseMenu = 431,
		AlignParagraphMenu = 432,
		LineSpacingMenu = 433,
		Undo = 6,
		Redo = 7,
		Cut = 10,
		Copy = 9,
		Paste = 8,
		ChangeFontName = 11,
		ChangeFontSize = 13,
		IncreaseFontSize = 14,
		DecreaseFontSize = 15,
		ChangeFontForeColor = 28,
		ChangeFontHighlightColor = 29,
		ShowFontDialog = 52,
		ToggleFontBold = 20,
		ToggleFontItalic = 21,
		ToggleFontUnderline = 22,
		ToggleFontDoubleUnderline = 23,
		ToggleFontStrikeout = 24,
		ToggleFontSubscript = 27,
		ToggleFontSuperscript = 26,
		CapitalizationSentenceCase = 207,
		CapitalizationUpperCase = 16,
		CapitalizationLowerCase = 17,
		CapitalizeEachWordTextCase = 18,
		CapitalizationToggleCase = 19,
		ClearFormatting = 30,
		ToggleBulletedList = 31,
		ToggleNumberedList = 32,
		ToggleMultilevelList = 33,
		ToggleParagraphAlignmentLeft = 37,
		ToggleParagraphAlignmentCenter = 38,
		ToggleParagraphAlignmentRight = 39,
		ToggleParagraphAlignmentJustify = 40,
		ToggleShowHiddenSymbols = 36,
		SetSingleParagraphSpacing = 41,
		SetSesquialteralParagraphSpacing = 42,
		SetDoubleParagraphSpacing = 43,
		AddSpacingBeforeParagraph = 45,
		AddSpacingAfterParagraph = 46,
		RemoveSpacingBeforeParagraph = 47,
		RemoveSpacingAfterParagraph = 48,
		ChangeParagraphBackColor = 49,
		ChangeStyle = 12,
		Find = 50,
		Replace = 51
	}
	export enum InsertTabItemId {
		ShowInsertTableDialog = 55,
		InsertPictureLocally = 411,
		ShowBookmarkDialog = 58,
		ShowHyperlinkDialog = 59,
		InsertHeader = 220,
		InsertFooter = 221,
		InsertPageNumberField = 235,
		InsertPageCountField = 236,
		InsertFloatingTextBox = 368
	}
	export enum PageLayoutTabItemId {
		MarginsMenu = 434,
		OrientationMenu = 435,
		SizeMenu = 436,
		ColumnsMenu = 437,
		BreaksMenu = 438,
		SetNormalSectionPageMargins = 66,
		SetNarrowSectionPageMargins = 67,
		SetModerateSectionPageMargins = 68,
		SetWideSectionPageMargins = 69,
		ShowMarginsPageSetupDialog = 70,
		SetPortraitPageOrientation = 71,
		SetLandscapePageOrientation = 72,
		SetSectionLetterPaperSize = 162,
		SetSectionLegalPaperSize = 99,
		SetSectionFolioPaperSize = 100,
		SetSectionA4PaperSize = 101,
		SetSectionB5PaperSize = 104,
		SetSectionExecutivePaperSize = 105,
		SetSectionA5PaperSize = 102,
		SetSectionA6PaperSize = 103,
		ShowPaperPageSetupDialog = 73,
		SetSectionOneColumn = 74,
		SetSectionTwoColumns = 75,
		SetSectionThreeColumns = 76,
		InsertPageBreak = 54,
		InsertColumnBreak = 79,
		InsertSectionBreakNextPage = 80,
		InsertSectionBreakEvenPage = 81,
		InsertSectionBreakOddPage = 82,
		ChangePageColor = 90
	}
	export enum ReferencesTabItemId {
		AddTextMenu = 439,
		InsertCaptionMenu = 440,
		InsertTableOfFiguresMenu = 441,
		InsertTableOfContents = 377,
		SetParagraphBodyTextLevel = 385,
		SetParagraphHeading1Level = 386,
		SetParagraphHeading2Level = 387,
		SetParagraphHeading3Level = 388,
		SetParagraphHeading4Level = 389,
		SetParagraphHeading5Level = 390,
		SetParagraphHeading6Level = 391,
		SetParagraphHeading7Level = 392,
		SetParagraphHeading8Level = 393,
		SetParagraphHeading9Level = 394,
		CreateFigureCaptionField = 382,
		CreateTableCaptionField = 383,
		CreateEquationCaptionField = 381,
		CreateTableOfFiguresField = 379,
		CreateTableOfTablesField = 380,
		CreateTableOfEquationsField = 378,
		UpdateTableOfContents = 384
	}
	export enum MailMergeTabItemId {
		CreateFieldMenu = 442,
		CreateField = 178,
		CreateDateField = 203,
		CreateTimeField = 204,
		CreatePageField = 205,
		CreateNumPagesField = 236,
		CreateEmptyMergeField = 372,
		CreateEmptyDocVariableField = 373,
		CreateEmptyIfField = 459,
		ShowInsertMergeFieldDialog = 214,
		ToggleViewMergedData = 213,
		ShowAllFieldCodes = 186,
		ShowAllFieldResults = 187,
		UpdateAllFields = 200,
		GoToFirstDataRecord = 209,
		GoToPreviousDataRecord = 210,
		GoToNextDataRecord = 211,
		GoToLastDataRecord = 212,
		ShowMailMergeDialog = 216
	}
	export enum ViewTabItemId {
		SwitchToSimpleView = 405,
		SwitchToPrintLayout = 406,
		ToggleShowHorizontalRuler = 94,
		ToggleFullScreen = 98
	}
	export enum HeaderAndFooterTabItemId {
		GoToPageHeader = 227,
		GoToPageFooter = 228,
		GoToPreviousPageHeaderFooter = 230,
		GoToNextPageHeaderFooter = 229,
		LinkHeaderFooterToPrevious = 222,
		ToggleDifferentFirstPage = 231,
		ToggleDifferentOddAndEvenPages = 232,
		ChangeHeaderOffset = 330,
		ChangeFooterOffset = 331,
		ClosePageHeaderFooter = 233
	}
	export enum TableDesignTabItemId {
		TableStyleOptionsMenu = 443,
		BordersMenu = 444,
		ToggleFirstRow = 280,
		ToggleLastRow = 281,
		ToggleBandedRows = 284,
		ToggleFirstColumn = 282,
		ToggleLastColumn = 283,
		ToggleBandedColumn = 285,
		ApplyTableStyle = 269,
		ChangeTableBorderStyleRepositoryItem = 292,
		ChangeTableBorderWidthRepositoryItem = 291,
		ChangeTableBorderColorRepositoryItem = 290,
		ToggleTableCellsBottomBorder = 272,
		ToggleTableCellsTopBorder = 270,
		ToggleTableCellsLeftBorder = 273,
		ToggleTableCellsRightBorder = 271,
		ToggleTableCellNoBorder = 274,
		ToggleTableCellAllBorders = 275,
		ToggleTableCellOutsideBorders = 279,
		ToggleTableCellInsideBorders = 276,
		ToggleTableCellInsideHorizontalBorders = 277,
		ToggleTableCellInsideVerticalBorders = 278,
		ToggleShowTableGridLines = 295,
		ChangeTableCellShading = 294
	}
	export enum TableLayoutTabItemId {
		SelectMenu = 445,
		DeleteMenu = 446,
		InsertMenu = 447,
		AutoFitMenu = 448,
		AlignmentMenu = 449,
		SelectTableCell = 286,
		SelectTableColumn = 287,
		SelectTableRow = 288,
		SelectTable = 289,
		ToggleShowTableGridLines = 295,
		ShowDeleteTableCellsDialog = 253,
		DeleteTableColumns = 248,
		DeleteTableRows = 247,
		DeleteTable = 251,
		InsertTableRowAbove = 246,
		InsertTableRowBelow = 245,
		InsertTableColumnToTheLeft = 243,
		InsertTableColumnToTheRight = 244,
		MergeTableCells = 254,
		ShowSplitTableCellsDialog = 255,
		SetAutoFitContents = 399,
		SetAutoFitWindow = 400,
		SetFixedColumnWidth = 401,
		TableCellAlignTopLeft = 260,
		TableCellAlignTopCenter = 261,
		TableCellAlignTopRight = 262,
		TableCellAlignMiddleLeft = 263,
		TableCellAlignMiddleCenter = 264,
		TableCellAlignMiddleRight = 265,
		TableCellAlignBottomLeft = 266,
		TableCellAlignBottomCenter = 267,
		TableCellAlignBottomRight = 268
	}
	export enum FloatingObjectsFormatTabItemId {
		WrapTextMenu = 450,
		PositionMenu = 451,
		BringForwardMenu = 452,
		SendBackwardMenu = 453,
		ChangeFloatingObjectFillColor = 343,
		ChangeFloatingObjectOutlineColor = 344,
		ChangeFloatingObjectOutlineWidth = 345,
		SetFloatingObjectInlineTextWrapType = 374,
		SetFloatingObjectSquareTextWrapType = 346,
		SetFloatingObjectTightTextWrapType = 347,
		SetFloatingObjectThroughTextWrapType = 348,
		SetFloatingObjectTopAndBottomTextWrapType = 349,
		SetFloatingObjectBehindTextWrapType = 350,
		SetFloatingObjectInFrontOfTextWrapType = 351,
		SetFloatingObjectTopLeftAlignment = 352,
		SetFloatingObjectTopCenterAlignment = 353,
		SetFloatingObjectTopRightAlignment = 354,
		SetFloatingObjectMiddleLeftAlignment = 355,
		SetFloatingObjectMiddleCenterAlignment = 356,
		SetFloatingObjectMiddleRightAlignment = 357,
		SetFloatingObjectBottomLeftAlignment = 358,
		SetFloatingObjectBottomCenterAlignment = 359,
		SetFloatingObjectBottomRightAlignment = 360,
		FloatingObjectBringForward = 361,
		FloatingObjectBringToFront = 362,
		FloatingObjectBringInFrontOfText = 363,
		FloatingObjectSendBackward = 364,
		FloatingObjectSendToBack = 365,
		FloatingObjectSendBehindText = 366
	}
	export type RibbonItemId = string | FileTabItemId | HomeTabItemId | InsertTabItemId | PageLayoutTabItemId | ReferencesTabItemId | MailMergeTabItemId | ViewTabItemId | HeaderAndFooterTabItemId | TableDesignTabItemId | TableLayoutTabItemId | FloatingObjectsFormatTabItemId;
	export interface IContextMenu {
		enabled: boolean;
		items: ContextMenuItem[];
		getItem(id: CommandId | RibbonItemId): ContextMenuItem | null;
		removeItem(item: ContextMenuItem): ContextMenuItem | null;
		removeItem(id: CommandId | RibbonItemId): ContextMenuItem | null;
		insertItem(item: ContextMenuItem, index?: number): ContextMenuItem;
		insertItemBefore(item: ContextMenuItem, target: ContextMenuItem | CommandId | RibbonItemId): ContextMenuItem;
		insertItemAfter(item: ContextMenuItem, target: ContextMenuItem | CommandId | RibbonItemId): ContextMenuItem;
	}
	export class RangePermissionOptions {
		get highlightRanges(): boolean;
		set highlightRanges(value: boolean);
		get showBrackets(): boolean;
		set showBrackets(value: boolean);
		get highlightColor(): string;
		set highlightColor(value: string);
		get bracketsColor(): string;
		set bracketsColor(value: string);
	}
	export type NusaCommandId = 'DxReFontColor' | 'DxReFontSize';
	export interface NusaCommand {
		commandId: NusaCommandId;
		phrase: string;
		title: string | null;
		description: string;
	}
	export interface NusaCommandSet {
		title: string;
		description: string;
		commands: NusaCommand[];
	}
	export type NusaRichEditPlaceholderId = 'DxReColorName';
	export interface NusaPlaceholder {
		id: NusaRichEditPlaceholderId;
		description: string;
		values: ({
			spokenForm: string;
			value: string;
		} | string[])[];
	}
	export interface NusaCustomControlType {
		newlineFormat: string;
		paragraphFormat: string;
		replaceText(element: HTMLElement, text: string, fromPos: number, length: number): void;
		getText(element: HTMLElement): string;
		getSelectionText(element: HTMLElement): string;
		getSelection(element: HTMLElement): {
			start: number;
			length: number;
		};
		setSelection(element: HTMLElement, start: number, length: number): void;
	}
	export interface NusaCustomContainerType {
		getFocussedElement(containerElement: HTMLElement): HTMLElement;
		setFocussedElement(element: HTMLElement): void;
	}
	export interface NusaRegisterOptions {
		customControlType?: string;
		customContainerType?: string;
		conceptName?: string;
	}
	export class NusaSettings {
		get registered(): boolean;
		getFocusedRichEdit(): RichEdit | null;
		registerCommands(options?: {
			customizeCommands?: (commandSets: NusaCommandSet[], placeholders: NusaPlaceholder[]) => void;
		}): void;
		getCommandHandler(): (commandId: string, placeholderIds: string[], placeholderValues: string[]) => boolean;
		getCustomControl(): NusaCustomControlType | null;
		getCustomContainer(): NusaCustomContainerType | null;
		unregister(): void;
		register(options?: NusaRegisterOptions): void;
	}
	export class SpellCheckerOptions {
		get isEnabled(): boolean;
		set isEnabled(value: boolean);
	}
	export class EventArgs {
	}
	export class Event<TSource, TEventArgs extends EventArgs> {
		addHandler(handler: (s?: TSource, e?: TEventArgs) => void, executionContext?: TSource): void;
		removeHandler(handler: (s?: TSource, e?: TEventArgs) => void, executionContext?: TSource): void;
		clearHandlers(): void;
		isEmpty(): boolean;
	}
	export class RichEditEvent<TEventArgs extends EventArgs> extends Event<RichEdit, TEventArgs> {
	}
	export class SelectionChangedEvent extends RichEditEvent<EventArgs> {
	}
	export class DocumentLoadedEvent extends RichEditEvent<EventArgs> {
	}
	export class DocumentFormattedEventArgs extends EventArgs {
		pageCount: number;
	}
	export class DocumentFormattedEvent extends RichEditEvent<DocumentFormattedEventArgs> {
	}
	export class DocumentChangedEvent extends RichEditEvent<EventArgs> {
	}
	export class ActiveSubDocumentChangedEvent extends RichEditEvent<EventArgs> {
	}
	export class GotFocusEvent extends RichEditEvent<EventArgs> {
	}
	export class LostFocusEvent extends RichEditEvent<EventArgs> {
	}
	export enum DocumentLinkType {
		Hyperlink = 0,
		Bookmark = 1,
		EmailAddress = 2,
		Document = 3
	}
	export class HyperlinkClickEventArgs extends EventArgs {
		handled: boolean;
		htmlEvent: MouseEvent;
		hyperlinkType: DocumentLinkType;
		targetUri: string;
		hyperlink: Hyperlink;
	}
	export class HyperlinkClickEvent extends RichEditEvent<HyperlinkClickEventArgs> {
	}
	export class PointerEventArgs extends EventArgs {
		handled: boolean;
		htmlEvent: MouseEvent;
	}
	export class PointerDownEvent extends RichEditEvent<PointerEventArgs> {
	}
	export class PointerUpEvent extends RichEditEvent<PointerEventArgs> {
	}
	export class KeyboardEventArgs extends EventArgs {
		handled: boolean;
		htmlEvent: KeyboardEvent;
	}
	export class KeyDownEvent extends RichEditEvent<KeyboardEventArgs> {
	}
	export class KeyUpEvent extends RichEditEvent<KeyboardEventArgs> {
	}
	export abstract class DocumentProcessorBase {
		document: RichEditDocumentBase;
		readonly unitConverter: UnitConverter;
		set onCalculateDocumentVariable(val: null | ((s: DocumentProcessorBase, e: CalculateDocumentVariableEventArgs) => void));
		importDocument(source: string | File, documentFormat: DocumentFormat, callback: (importSuccess: boolean) => void): void;
		exportDocumentToBase64(callback: (base64: string) => void, documentFormat?: DocumentFormat): void;
		exportDocumentToBlob(callback: (blob: Blob) => void, documentFormat?: DocumentFormat): void;
		downloadDocument(fileName: string, documentFormat: DocumentFormat): void;
		exportToPdf(callback: (base64: string, blob: Blob, stream: any) => void, options?: ((pdfDocument: any) => void) | {
			modifyPdfDocument?: (pdfDocument: any) => void;
			modifyPdfPage?: (pdfDocument: any) => void;
		}): void;
		downloadPdf(fileName: string, options?: ((pdfDocument: any) => void) | {
			modifyPdfDocument?: (pdfDocument: any) => void;
			modifyPdfPage?: (pdfDocument: any) => void;
		}): void;
		dispose(): void;
	}
	export class CalculateDocumentVariableEventArgs extends EventArgs {
		variableName: string;
		args: string[];
		value: null | string | DocumentProcessorBase;
		keepLastParagraph: boolean;
		readonly fieldInterval: Interval;
	}
	export class CalculateDocumentVariableEvent extends RichEditEvent<CalculateDocumentVariableEventArgs> {
	}
	export class ContentChangedEventArgs extends EventArgs {
		subDocumentId: number;
		interval: Interval;
	}
	export class ContentInsertedEvent extends RichEditEvent<ContentChangedEventArgs> {
	}
	export class ContentRemovedEventArgs extends ContentChangedEventArgs {
		removedText: string;
	}
	export class ContentRemovedEvent extends RichEditEvent<ContentRemovedEventArgs> {
	}
	export class CharacterPropertiesChangedEvent extends RichEditEvent<ContentChangedEventArgs> {
	}
	export class ParagraphPropertiesChangedEventArgs extends EventArgs {
		subDocumentId: number;
		paragraphIndex: number;
	}
	export class ParagraphPropertiesChangedEvent extends RichEditEvent<ParagraphPropertiesChangedEventArgs> {
	}
	export class AutoCorrectEventArgs extends EventArgs {
		handled: boolean;
		text: string;
		interval: Interval;
	}
	export class AutoCorrectEvent extends RichEditEvent<AutoCorrectEventArgs> {
	}
	export class SavingEventArgs extends EventArgs {
		handled: boolean;
		base64: string;
		fileName: string;
		format: DocumentFormat;
		reason: string;
	}
	export class SavingEvent extends RichEditEvent<SavingEventArgs> {
	}
	export class SavedEventArgs extends EventArgs {
		success: boolean;
		reason: string;
	}
	export class SavedEvent extends RichEditEvent<SavedEventArgs> {
	}
	export class CustomCommandExecutedEventArgs extends EventArgs {
		commandName: string;
		parameter: any;
	}
	export class CustomCommandExecutedEvent extends RichEditEvent<CustomCommandExecutedEventArgs> {
	}
	export class PdfExportingEventArgs extends EventArgs {
		base64: string;
		blob: Blob;
		blobStream: any;
		handled: boolean;
	}
	export class PdfExportingEvent extends RichEditEvent<PdfExportingEventArgs> {
	}
	export class PdfExportedEventArgs extends EventArgs {
		success: boolean;
	}
	export class PdfExportedEvent extends RichEditEvent<PdfExportedEventArgs> {
	}
	export class CommandStateChangedEventArgs extends EventArgs {
		commands: null | CommandId[];
	}
	export class CommandStateChangedEvent extends RichEditEvent<CommandStateChangedEventArgs> {
	}
	export class DocumentVariableData {
		callback: (value: null | string | DocumentProcessorBase, keepLastParagraph?: boolean) => void;
		variableName: string;
		args: string[];
		readonly fieldInterval: Interval;
	}
	export class CalculateDocumentVariableAsyncEventArgs extends EventArgs {
		readonly data: DocumentVariableData[];
	}
	export class CalculateDocumentVariableAsyncEvent extends RichEditEvent<CalculateDocumentVariableAsyncEventArgs> {
	}
	export class ContextMenuShowingEventArgs extends EventArgs {
		readonly contextMenu: IContextMenu;
	}
	export class ContextMenuShowingEvent extends RichEditEvent<ContextMenuShowingEventArgs> {
	}
	export class Events {
		readonly selectionChanged: SelectionChangedEvent;
		readonly documentLoaded: DocumentLoadedEvent;
		readonly documentFormatted: DocumentFormattedEvent;
		readonly documentChanged: DocumentChangedEvent;
		readonly activeSubDocumentChanged: ActiveSubDocumentChangedEvent;
		readonly gotFocus: GotFocusEvent;
		readonly lostFocus: LostFocusEvent;
		readonly hyperlinkClick: HyperlinkClickEvent;
		readonly pointerDown: PointerDownEvent;
		readonly pointerUp: PointerUpEvent;
		readonly keyDown: KeyDownEvent;
		readonly keyUp: KeyUpEvent;
		readonly calculateDocumentVariable: CalculateDocumentVariableEvent;
		readonly contentInserted: ContentInsertedEvent;
		readonly contentRemoved: ContentRemovedEvent;
		readonly characterPropertiesChanged: CharacterPropertiesChangedEvent;
		readonly paragraphPropertiesChanged: ParagraphPropertiesChangedEvent;
		readonly autoCorrect: AutoCorrectEvent;
		readonly saving: SavingEvent;
		readonly saved: SavedEvent;
		readonly customCommandExecuted: CustomCommandExecutedEvent;
		readonly pdfExporting: PdfExportingEvent;
		readonly pdfExported: PdfExportedEvent;
		readonly commandStateChanged: CommandStateChangedEvent;
		readonly calculateDocumentVariableAsync: CalculateDocumentVariableAsyncEvent;
		readonly contextMenuShowing: ContextMenuShowingEvent;
		readonly horizontalRulerVisibleChanged: HorizontalRulerVisibleChangedEvent;
		clear(): void;
	}
	export enum PrintMode {
		Html = 1,
		Pdf = 2
	}
	export interface IPrintingSettings {
		mode?: PrintMode;
		closePrintDialogWithHtmlPreview?: boolean;
	}
	export enum KeyCode {
		Backspace = 8,
		Tab = 9,
		Enter = 13,
		Pause = 19,
		CapsLock = 20,
		Esc = 27,
		Spacebar = 32,
		PageUp = 33,
		PageDown = 34,
		End = 35,
		Home = 36,
		Left = 37,
		Up = 38,
		Right = 39,
		Down = 40,
		Insert = 45,
		Delete = 46,
		Key_0 = 48,
		Key_1 = 49,
		Key_2 = 50,
		Key_3 = 51,
		Key_4 = 52,
		Key_5 = 53,
		Key_6 = 54,
		Key_7 = 55,
		Key_8 = 56,
		Key_9 = 57,
		Key_a = 65,
		Key_b = 66,
		Key_c = 67,
		Key_d = 68,
		Key_e = 69,
		Key_f = 70,
		Key_g = 71,
		Key_h = 72,
		Key_i = 73,
		Key_j = 74,
		Key_k = 75,
		Key_l = 76,
		Key_m = 77,
		Key_n = 78,
		Key_o = 79,
		Key_p = 80,
		Key_q = 81,
		Key_r = 82,
		Key_s = 83,
		Key_t = 84,
		Key_u = 85,
		Key_v = 86,
		Key_w = 87,
		Key_x = 88,
		Key_y = 89,
		Key_z = 90,
		Windows = 91,
		ApplicationKey = 93,
		Numpad_0 = 96,
		Numpad_1 = 97,
		Numpad_2 = 98,
		Numpad_3 = 99,
		Numpad_4 = 100,
		Numpad_5 = 101,
		Numpad_6 = 102,
		Numpad_7 = 103,
		Numpad_8 = 104,
		Numpad_9 = 105,
		Asterisk = 106,
		PlusSign = 107,
		MinusSign = 109,
		Numpad_Period = 110,
		Numpad_Slash = 111,
		F1 = 112,
		F2 = 113,
		F3 = 114,
		F4 = 115,
		F5 = 116,
		F6 = 117,
		F7 = 118,
		F8 = 119,
		F9 = 120,
		F10 = 121,
		F11 = 122,
		F12 = 123,
		NumLock = 144,
		ScrollLock = 145,
		Semicolon = 186,
		EqualsSign = 187,
		Comma = 188,
		Hyphen = 189,
		Period = 190,
		Slash = 191,
		GraveAccent = 192,
		OpenBracket = 219,
		BackSlash = 220,
		CloseBracket = 221,
		Quotes = 222
	}
	export class ShortcutOptions {
		keyCode: KeyCode;
		alt: boolean;
		ctrl: boolean;
		shift: boolean;
		meta: boolean;
		constructor(keyCode: KeyCode, ctrl?: boolean, alt?: boolean, shift?: boolean, meta?: boolean);
	}
	export enum RibbonTabType {
		File = 0,
		Home = 1,
		Insert = 2,
		PageLayout = 3,
		References = 4,
		MailMerge = 5,
		View = 6,
		HeadersFooters = 7,
		TableDesign = 8,
		TableLayout = 9,
		FloatingObjectsFormat = 10
	}
	export type RibbonTabId = string | RibbonTabType;
	export enum RibbonItemType {
		Button = 0,
		SelectBox = 1,
		Menu = 2,
		NumberBox = 3,
		ColorBox = 4,
		SubMenu = 5
	}
	export abstract class RibbonItemBase {
		abstract readonly type: RibbonItemType;
		beginGroup: boolean;
		id: RibbonItemId;
	}
	export interface RibbonButtonItemOptions {
		showText?: boolean;
		toggleMode?: boolean;
		selected?: boolean;
		icon?: string;
		beginGroup?: boolean;
		localizationId?: string;
	}
	export class RibbonButtonItem extends RibbonItemBase {
		readonly type = RibbonItemType.Button;
		text: string;
		showText: boolean;
		toggleMode: boolean;
		selected: boolean;
		icon?: string;
		localizationId?: string;
		constructor(id: RibbonItemId, text: string, options?: RibbonButtonItemOptions);
	}
	export interface RibbonSubMenuItemOptions {
		icon?: string;
		beginGroup?: boolean;
		localizationId?: string;
	}
	export class RibbonSubMenuItem extends RibbonItemBase {
		readonly type = RibbonItemType.SubMenu;
		text: string;
		items: RibbonSubMenuItem[];
		icon?: string;
		localizationId?: string;
		constructor(id: RibbonItemId, text: string, items?: RibbonSubMenuItem[], options?: RibbonSubMenuItemOptions);
		convertToButton(): RibbonButtonItem;
	}
	export interface RibbonMenuItemOptions {
		icon?: string;
		showText?: boolean;
		beginGroup?: boolean;
		localizationId?: string;
	}
	export class RibbonMenuItem extends RibbonItemBase {
		readonly type = RibbonItemType.Menu;
		text: string;
		items: RibbonSubMenuItem[];
		showText: boolean;
		icon?: string;
		localizationId?: string;
		constructor(id: RibbonItemId, text: string, items: RibbonSubMenuItem[], options?: RibbonMenuItemOptions);
	}
	export interface RibbonItemTextOptions {
		text?: string;
		displayAfterEditor?: boolean;
	}
	export interface RibbonSelectBoxItemOptions {
		beginGroup?: boolean;
		width?: any;
		displayExpr?: string;
		valueExpr?: string;
		value?: any;
		valueType?: string;
		textOptions?: RibbonItemTextOptions;
		showClearButton?: boolean;
		placeholder?: string;
		acceptCustomValue?: boolean;
		onCustomItemCreating?: any;
	}
	export class RibbonSelectBoxItem extends RibbonItemBase {
		readonly type = RibbonItemType.SelectBox;
		dataSource: any[];
		displayExpr?: string;
		valueExpr?: string;
		width?: any;
		value?: any;
		valueType?: string;
		textOptions: RibbonItemTextOptions;
		showClearButton: boolean;
		placeholder?: string;
		acceptCustomValue?: boolean;
		onCustomItemCreating?: any;
		constructor(id: RibbonItemId, dataSource: any[] | any, options?: RibbonSelectBoxItemOptions);
	}
	export interface RibbonNumberBoxItemOptions {
		beginGroup?: boolean;
		min?: number;
		max?: number;
		step?: number;
		width?: any;
		localizationId?: string;
		format?: string;
		value?: number;
	}
	export class RibbonNumberBoxItem extends RibbonItemBase {
		readonly type = RibbonItemType.NumberBox;
		text: string;
		min?: number;
		max?: number;
		step: number;
		width?: any;
		localizationId?: string;
		format?: string;
		value?: number;
		constructor(id: RibbonItemId, text: string, options?: RibbonNumberBoxItemOptions);
	}
	export interface RibbonColorBoxItemOptions {
		beginGroup?: boolean;
		localizationId?: string;
		textOptions?: RibbonItemTextOptions;
	}
	export class RibbonColorBoxItem extends RibbonItemBase {
		readonly type = RibbonItemType.ColorBox;
		text: string;
		value: string;
		textOptions: RibbonItemTextOptions;
		localizationId?: string;
		constructor(id: RibbonItemId, text: string, value: string, options?: RibbonColorBoxItemOptions);
	}
	export type FirstLevelRibbonItem = RibbonButtonItem | RibbonMenuItem | RibbonSelectBoxItem | RibbonNumberBoxItem | RibbonColorBoxItem;
	export type RibbonItem = FirstLevelRibbonItem | RibbonSubMenuItem;
	export type RibbonItemParent = RibbonMenuItem | RibbonSubMenuItem | RibbonTab;
	export class RibbonTab {
		id: RibbonTabId;
		title: string;
		items: FirstLevelRibbonItem[];
		localizationId?: string;
		get contextTab(): boolean;
		constructor(title: string, id: RibbonTabId, items?: FirstLevelRibbonItem[], localizationId?: string);
		removeItem(id: RibbonItemId): void;
		removeItem(item: RibbonItem): void;
		getItem(id: RibbonItemId): RibbonItem | null;
		insertItem(item: RibbonItem, index?: number): FirstLevelRibbonItem;
		insertItemBefore(item: RibbonItem, target: RibbonItem | RibbonItemId | CommandId): RibbonItem;
		insertItemAfter(item: RibbonItem, target: RibbonItem | RibbonItemId | CommandId): RibbonItem;
		forEachItem(callback: (item: RibbonItem, index: number, parent: RibbonItemParent) => void, recursive?: boolean): void;
	}
	export class Ribbon {
		visible: boolean;
		activeTabIndex: number;
		clearTabs(): void;
		removeTab(tab: RibbonTab): RibbonTab | null;
		removeTab(id: RibbonTabId): RibbonTab | null;
		insertTab(tab: RibbonTab, index?: number): RibbonTab;
		insertTabBefore(tab: RibbonTab, target: RibbonTab | RibbonTabId): RibbonTab;
		insertTabAfter(tab: RibbonTab, target: RibbonTab | RibbonTabId): RibbonTab;
		getTab(id: RibbonTabId): RibbonTab | null;
	}
	export interface ICustomLoadingPanel {
		visible?: boolean;
		dispose?(): void;
		show(): void;
		hide(): void;
	}
	export class LoadingPanel {
		get enabled(): boolean;
		set enabled(value: boolean);
		get customPanel(): undefined | ICustomLoadingPanel;
		set customPanel(value: undefined | ICustomLoadingPanel);
		show(): void;
		hide(): void;
	}
	export class CommandState {
		readonly visible: boolean;
		readonly enabled: boolean;
		readonly value?: any;
	}
	export class RichEdit {
		readonly document: RichEditDocument;
		readonly layout: RichEditLayout;
		readonly selection: RichEditSelection;
		readonly history: History;
		readonly unitConverter: UnitConverter;
		readonly mailMergeOptions: MailMergeOptions;
		readonly authenticationOptions: AuthenticationOptions;
		readonly simpleViewSettings: SimpleViewSettings;
		readonly contextMenu: IContextMenu;
		readonly rangePermissionOptions: RangePermissionOptions;
		readonly nusaSettings: NusaSettings;
		readonly spellCheckerOptions: SpellCheckerOptions;
		get events(): Events;
		exportToBase64(callback: (base64: string) => void, documentFormat?: DocumentFormat): void;
		exportToBlob(callback: (blob: Blob) => void, documentFormat?: DocumentFormat): void;
		exportToArrayBuffer(callback: (buffer: ArrayBuffer) => void, documentFormat?: DocumentFormat): void;
		exportToFile(callback: (file: File) => void, documentFormat?: DocumentFormat): void;
		exportToPdf(documentName?: string, options?: ((pdfDocument: any) => void) | {
			modifyPdfDocument?: (pdfDocument: any) => void;
			modifyPdfPage?: (pdfDocument: any) => void;
		}): void;
		downloadPdf(documentName?: string, options?: ((pdfDocument: any) => void) | {
			modifyPdfDocument?: (pdfDocument: any) => void;
			modifyPdfPage?: (pdfDocument: any) => void;
		}): void;
		adjust(): void;
		get isDocumentImported(): boolean;
		get fullScreen(): boolean;
		set fullScreen(value: boolean);
		get viewType(): ViewType;
		set viewType(type: ViewType);
		get readOnly(): boolean;
		set readOnly(value: boolean);
		get isDisposed(): boolean;
		get showHorizontalRuler(): boolean;
		set showHorizontalRuler(value: boolean);
		focus(): void;
		get fileName(): string;
		set fileName(name: string);
		get documentSaveFormat(): DocumentFormat;
		set documentSaveFormat(format: DocumentFormat);
		get documentName(): string;
		set documentName(name: string);
		get documentFormat(): DocumentFormat;
		set documentFormat(format: DocumentFormat);
		get documentExtension(): string;
		set documentExtension(filePath: string);
		get hasUnsavedChanges(): boolean;
		set hasUnsavedChanges(value: boolean);
		newDocument(): void;
		openDocument(fileContent?: File | Blob | ArrayBuffer | string, documentName?: string, documentFormat?: DocumentFormat, callback?: (importSuccess: boolean) => void): void;
		saveDocument(documentFormat?: DocumentFormat, reason?: string, documentName?: string): void;
		mailMerge(callback: (blob: Blob) => void, mergeMode?: MergeMode, documentFormat?: DocumentFormat, exportFrom?: number, exportRecordsCount?: number): void;
		downloadDocument(documentFormat?: DocumentFormat, documentName?: string): void;
		printDocument(mode?: PrintMode | IPrintingSettings): void;
		assignShortcut(shortcut: ShortcutOptions, callback: () => void): void;
		get printMode(): PrintMode;
		set printMode(val: PrintMode);
		updateRibbon(callback: (ribbon: Ribbon) => void): void;
		beginUpdate(): void;
		endUpdate(): void;
		get loadingPanel(): LoadingPanel;
		createDocumentProcessor(options?: IInitDocumentProcessorOptions): DocumentProcessorBase;
		dispose(): void;
		executeCommand(commandId: CommandId, parameter?: any): boolean;
		getCommandState(commandId: CommandId): CommandState;
		setCommandEnabled(command: RibbonItemId | CommandId, enabled: boolean): void;
	}
	export class DocumentProcessor extends DocumentProcessorBase {
	}
	export class Paddings implements IPaddings {
		left: number;
		right: number;
		top: number;
		bottom: number;
		constructor(top: number, right: number, bottom: number, left: number);
	}
	export interface IFilePathInfo {
		readonly path: string;
		readonly documentFormat: DocumentFormat | null;
		readonly extension: string;
		readonly directoryPath: string;
		readonly name: string;
		readonly nameWithoutExtension: string;
	}
	export class Utils {
		static download(content: File | Blob | ArrayBuffer | string, fileName: string): void;
		static parseFilePath(filePath: string): IFilePathInfo;
		static documentFormatToExtension(documentFormat: DocumentFormat): string;
		static getDocumentFormat(filePath: string): DocumentFormat | null;
		static convertArrayBufferToBase64(content: ArrayBuffer): string;
		static convertBlobToBase64(content: File | Blob, callback: (base64: string) => void): void;
		static convertToBlob(content: File | ArrayBuffer | string, options?: BlobPropertyBag): Blob;
		static convertToFile(content: Blob | ArrayBuffer | string, fileName?: string, options?: FilePropertyBag): File;
		static convertBase64ToArrayBuffer(content: string): ArrayBuffer;
		static convertBlobToArrayBuffer(content: File | Blob, callback: (buffer: ArrayBuffer) => void): void;
		static getIntervalComplement(bound: Interval, intervals: Interval[]): Interval[];
	}
	export class Characters {
		static readonly PageBreak: string;
		static readonly LineBreak: string;
		static readonly ParagraphBreak: string;
	}
	export enum RichEditUnit {
		Centimeter = 0,
		Inch = 1
	}
	export interface IBookmarkSettings {
		color?: string;
		visibility?: boolean;
	}
	export interface IFieldsSettings {
		updateFieldsBeforePrint?: boolean;
		updateFieldsOnPaste?: boolean;
		defaultTimeFormat?: string;
		defaultDateFormat?: string;
		openHyperlinkOnClick?: boolean;
		keepHyperlinkResultForInvalidReference?: boolean;
		allowedHyperlinkUriSchemes?: string[];
		createHyperlinkTooltip?: (hyperlinkTooltip: string, hint: string) => string;
	}
	export interface ISimpleViewSettings {
		paddings?: IPaddings;
		fixedWidth?: number;
	}
	export interface IPrintLayoutViewSettings {
		showHorizontalRuler?: boolean;
	}
	export interface IViewSettings {
		viewType?: ViewType;
		simpleViewSettings?: ISimpleViewSettings;
		printLayoutViewSettings?: IPrintLayoutViewSettings;
	}
	export interface IRichEditPdfSettings {
		pdfDocument?: new (options?: {
			autoFirstPage: boolean;
			defaultFont: any;
		}) => any;
		blobStream?: new () => any;
		exportUrl?: string;
		defaultFontName?: string;
		pdfKitScriptUrl?: string;
		convertImageToCompatibleFormat?: (base64: string) => Promise<string>;
	}
	export interface IRichEditSearchSettings {
		filterInterval?: (subDocument: SubDocumentBase, interval: IInterval) => boolean;
	}
	export interface IFontSettings {
		name: string;
		fontFamily: string;
		italicFontUri?: string;
		boldFontUri?: string;
		boldItalicFontUri?: string;
		regularFontUri?: string;
	}
	export interface IFontMappingRule {
		sourceFontFamily: string;
		destinationFontName: string;
	}
	export interface IFontMapping {
		defaultFontName?: string;
		rules?: IFontMappingRule[];
	}
	export interface IRichEditFontsSettings {
		defaultFolder?: string;
		fonts?: IFontSettings[];
		mappings?: IFontMapping;
	}
	export interface IConfirmOnLosingChangesSettings {
		enabled?: boolean;
		message?: string;
	}
	export interface IMailMergeSettings {
		viewMergedData?: boolean;
		activeRecord?: number;
		dataSource?: any[] | string | DevExpress.data.CustomStoreOptions | DevExpress.data.DataSourceOptions | DevExpress.data.Store | DevExpress.data.DataSource;
	}
	export interface IAutocorrectReplaceInfo {
		replace: string;
		with: string;
	}
	export interface IAutocorrectSettings {
		correctTwoInitialCapitals?: boolean;
		detectUrls?: boolean;
		enableAutomaticNumbering?: boolean;
		replaceTextAsYouType?: boolean;
		caseSensitiveReplacement?: boolean;
		replaceInfoCollection?: IAutocorrectReplaceInfo[];
	}
	export interface ISpellCheck {
		enabled?: boolean;
		suggestionCount?: number;
		checkWordSpelling?: (word: string, callback: (isCorrect: boolean, suggestions: string[]) => void) => void;
		addWordToDictionary?: (word: string) => void;
	}
	export interface IAuthenticationSettings {
		userName?: string;
		group?: string;
	}
	export interface IRangePermissionsSettings {
		bracketsColor?: string;
		highlightColor?: string;
		highlightRanges: boolean;
		showBrackets: boolean;
	}
	export interface EventHandlers {
		selectionChanged?: string | ((s: RichEdit, e: EventArgs) => void);
		documentLoaded?: string | ((s: RichEdit, e: EventArgs) => void);
		documentFormatted?: string | ((s: RichEdit, e: DocumentFormattedEventArgs) => void);
		documentChanged?: string | ((s: RichEdit, e: EventArgs) => void);
		activeSubDocumentChanged?: string | ((s: RichEdit, e: EventArgs) => void);
		gotFocus?: string | ((s: RichEdit, e: EventArgs) => void);
		lostFocus?: string | ((s: RichEdit, e: EventArgs) => void);
		hyperlinkClick?: string | ((s: RichEdit, e: HyperlinkClickEventArgs) => void);
		pointerDown?: string | ((s: RichEdit, e: PointerEventArgs) => void);
		pointerUp?: string | ((s: RichEdit, e: PointerEventArgs) => void);
		keyDown?: string | ((s: RichEdit, e: KeyboardEventArgs) => void);
		keyUp?: string | ((s: RichEdit, e: KeyboardEventArgs) => void);
		calculateDocumentVariable?: string | ((s: RichEdit, e: CalculateDocumentVariableEventArgs) => void);
		contentInserted?: string | ((s: RichEdit, e: ContentChangedEventArgs) => void);
		contentRemoved?: string | ((s: RichEdit, e: ContentRemovedEventArgs) => void);
		characterPropertiesChanged?: string | ((s: RichEdit, e: ContentChangedEventArgs) => void);
		paragraphPropertiesChanged?: string | ((s: RichEdit, e: ParagraphPropertiesChangedEventArgs) => void);
		saving?: string | ((s: RichEdit, e: SavingEventArgs) => void);
		saved?: string | ((s: RichEdit, e: SavedEventArgs) => void);
		customCommandExecuted?: string | ((s: RichEdit, e: CustomCommandExecutedEventArgs) => void);
		pdfExporting?: string | ((s: RichEdit, e: PdfExportingEventArgs) => void);
		pdfExported?: string | ((s: RichEdit, e: PdfExportedEventArgs) => void);
		autoCorrect?: string | ((s: RichEdit, e: AutoCorrectEventArgs) => void);
		commandStateChanged?: string | ((s: RichEdit, e: CommandStateChangedEventArgs) => void);
		calculateDocumentVariableAsync?: string | ((s: RichEdit, e: CalculateDocumentVariableAsyncEventArgs) => void);
		contextMenuShowing?: string | ((s: RichEdit, e: ContextMenuShowingEventArgs) => void);
	}
	export interface Options {
		width?: string;
		height?: string;
		readOnly?: boolean;
		unit?: RichEditUnit;
		nonce?: string;
		exportUrl?: string;
		bookmarks?: IBookmarkSettings;
		fields?: IFieldsSettings;
		ribbon: Ribbon;
		view?: IViewSettings;
		pdf?: IRichEditPdfSettings;
		search?: IRichEditSearchSettings;
		fonts?: IRichEditFontsSettings;
		confirmOnLosingChanges?: IConfirmOnLosingChangesSettings;
		mailMerge?: IMailMergeSettings;
		autoCorrect?: IAutocorrectSettings;
		spellCheck?: ISpellCheck;
		authentication?: IAuthenticationSettings;
		rangePermissions?: IRangePermissionsSettings;
		printing?: IPrintingSettings;
		contextMenu?: IContextMenu;
		events: EventHandlers;
		document?: {
			content?: File | Blob | ArrayBuffer | string;
			name?: string;
			format?: DocumentFormat;
			onLoaded?: (importSuccess: boolean) => void;
		};
	}
	export function createOptions(): Options;
	export function create(htmlElement: HTMLElement, options: Options): RichEdit;
	export abstract class TableElementBase {
	}
	export enum TableWidthType {
		Auto = 1,
		Percent = 2,
		Twips = 3
	}
	export interface TableWidth {
		type: TableWidthType;
		value: number;
	}
	export enum TableContentHorizontalAlignment {
		Left = 0,
		Right = 1,
		Center = 2
	}
	export enum TableContentVerticalAlignment {
		Top = 0,
		Center = 2,
		Bottom = 3
	}
	export class TableBorder {
		style: BorderLineStyle;
		color: string;
		width: number;
	}
	export class TableBorders extends TableBordersBase implements ITableBorders {
		insideHorizontal: TableBorder;
		insideVertical: TableBorder;
	}
	export enum TableRowHeightType {
		Minimum = 0,
		Auto = 1,
		Exact = 2
	}
	export interface TableRowHeight {
		type: TableRowHeightType;
		value: number;
	}
	export class TableStyleOptions {
		headerRow: boolean;
		totalRow: boolean;
		bandedRows: boolean;
		firstColumn: boolean;
		lastColumn: boolean;
		bandedColumns: boolean;
	}
	export interface TableCellPosition {
		rowIndex: number;
		cellIndex: number;
	}
	export abstract class TableBaseCollection<TApi> extends Collection<TApi> {
	}
	export enum BorderLineStyle {
		Nil = -1,
		None = 0,
		Single = 1,
		Thick = 2,
		Double = 3,
		Dotted = 4,
		Dashed = 5,
		DotDash = 6,
		DotDotDash = 7,
		Triple = 8,
		ThinThickSmallGap = 9,
		ThickThinSmallGap = 10,
		ThinThickThinSmallGap = 11,
		ThinThickMediumGap = 12,
		ThickThinMediumGap = 13,
		ThinThickThinMediumGap = 14,
		ThinThickLargeGap = 15,
		ThickThinLargeGap = 16,
		ThinThickThinLargeGap = 17,
		Wave = 18,
		DoubleWave = 19,
		DashSmallGap = 20,
		DashDotStroked = 21,
		ThreeDEmboss = 22,
		ThreeDEngrave = 23,
		Outset = 24,
		Inset = 25,
		Apples = 26,
		ArchedScallops = 27,
		BabyPacifier = 28,
		BabyRattle = 29,
		Balloons3Colors = 30,
		BalloonsHotAir = 31,
		BasicBlackDashes = 32,
		BasicBlackDots = 33,
		BasicBlackSquares = 34,
		BasicThinLines = 35,
		BasicWhiteDashes = 36,
		BasicWhiteDots = 37,
		BasicWhiteSquares = 38,
		BasicWideInline = 39,
		BasicWideMidline = 40,
		BasicWideOutline = 41,
		Bats = 42,
		Birds = 43,
		BirdsFlight = 44,
		Cabins = 45,
		CakeSlice = 46,
		CandyCorn = 47,
		CelticKnotwork = 48,
		CertificateBanner = 49,
		ChainLink = 50,
		ChampagneBottle = 51,
		CheckedBarBlack = 52,
		CheckedBarColor = 53,
		Checkered = 54,
		ChristmasTree = 55,
		CirclesLines = 56,
		CirclesRectangles = 57,
		ClassicalWave = 58,
		Clocks = 59,
		Compass = 60,
		Confetti = 61,
		ConfettiGrays = 62,
		ConfettiOutline = 63,
		ConfettiStreamers = 64,
		ConfettiWhite = 65,
		CornerTriangles = 66,
		CouponCutoutDashes = 67,
		CouponCutoutDots = 68,
		CrazyMaze = 69,
		CreaturesButterfly = 70,
		CreaturesFish = 71,
		CreaturesInsects = 72,
		CreaturesLadyBug = 73,
		CrossStitch = 74,
		Cup = 75,
		DecoArch = 76,
		DecoArchColor = 77,
		DecoBlocks = 78,
		DiamondsGray = 79,
		DoubleD = 80,
		DoubleDiamonds = 81,
		Earth1 = 82,
		Earth2 = 83,
		EclipsingSquares1 = 84,
		EclipsingSquares2 = 85,
		EggsBlack = 86,
		Fans = 87,
		Film = 88,
		Firecrackers = 89,
		FlowersBlockPrint = 90,
		FlowersDaisies = 91,
		FlowersModern1 = 92,
		FlowersModern2 = 93,
		FlowersPansy = 94,
		FlowersRedRose = 95,
		FlowersRoses = 96,
		FlowersTeacup = 97,
		FlowersTiny = 98,
		Gems = 99,
		GingerbreadMan = 100,
		Gradient = 101,
		Handmade1 = 102,
		Handmade2 = 103,
		HeartBalloon = 104,
		HeartGray = 105,
		Hearts = 106,
		HeebieJeebies = 107,
		Holly = 108,
		HouseFunky = 109,
		Hypnotic = 110,
		IceCreamCones = 111,
		LightBulb = 112,
		Lightning1 = 113,
		Lightning2 = 114,
		MapleLeaf = 115,
		MapleMuffins = 116,
		MapPins = 117,
		Marquee = 118,
		MarqueeToothed = 119,
		Moons = 120,
		Mosaic = 121,
		MusicNotes = 122,
		Northwest = 123,
		Ovals = 124,
		Packages = 125,
		PalmsBlack = 126,
		PalmsColor = 127,
		PaperClips = 128,
		Papyrus = 129,
		PartyFavor = 130,
		PartyGlass = 131,
		Pencils = 132,
		People = 133,
		PeopleHats = 134,
		PeopleWaving = 135,
		Poinsettias = 136,
		PostageStamp = 137,
		Pumpkin1 = 138,
		PushPinNote1 = 139,
		PushPinNote2 = 140,
		Pyramids = 141,
		PyramidsAbove = 142,
		Quadrants = 143,
		Rings = 144,
		Safari = 145,
		Sawtooth = 146,
		SawtoothGray = 147,
		ScaredCat = 148,
		Seattle = 149,
		ShadowedSquares = 150,
		SharksTeeth = 151,
		ShorebirdTracks = 152,
		Skyrocket = 153,
		SnowflakeFancy = 154,
		Snowflakes = 155,
		Sombrero = 156,
		Southwest = 157,
		Stars = 158,
		Stars3d = 159,
		StarsBlack = 160,
		StarsShadowed = 161,
		StarsTop = 162,
		Sun = 163,
		Swirligig = 164,
		TornPaper = 165,
		TornPaperBlack = 166,
		Trees = 167,
		TriangleParty = 168,
		Triangles = 169,
		Tribal1 = 170,
		Tribal2 = 171,
		Tribal3 = 172,
		Tribal4 = 173,
		Tribal5 = 174,
		Tribal6 = 175,
		TwistedLines1 = 176,
		TwistedLines2 = 177,
		Vine = 178,
		Waveline = 179,
		WeavingAngles = 180,
		WeavingBraid = 181,
		WeavingRibbon = 182,
		WeavingStrips = 183,
		WhiteFlowers = 184,
		Woodwork = 185,
		XIllusions = 186,
		ZanyTriangles = 187,
		ZigZag = 188,
		ZigZagStitch = 189
	}
	export interface ITableCellBorders {
		top?: TableBorder;
		right?: TableBorder;
		bottom?: TableBorder;
		left?: TableBorder;
	}
	export class TableCellBorders extends TableBordersBase implements ITableCellBorders {
	}
	export interface IMargins {
		left?: number;
		right?: number;
		top?: number;
		bottom?: number;
	}
	export interface ITableBorders {
		top?: TableBorder;
		right?: TableBorder;
		bottom?: TableBorder;
		left?: TableBorder;
		insideHorizontal?: TableBorder;
		insideVertical?: TableBorder;
	}
	export abstract class TableBordersBase {
		top: TableBorder;
		right: TableBorder;
		bottom: TableBorder;
		left: TableBorder;
	}
	export class HorizontalRulerVisibleChangedEventArgs extends EventArgs {
		horizontalRulerVisible: boolean;
	}
	export class HorizontalRulerVisibleChangedEvent extends RichEditEvent<HorizontalRulerVisibleChangedEventArgs> {
	}
}
